Browserübergreifende Kompatibilität für getElementsByClassName()
Die Unfähigkeit von IE6, IE7 und IE8, die Methode getElementsByClassName() zu nutzen, stellt ein Problem dar Herausforderung beim Versuch, Elemente anhand ihres Klassenattributs auszuwählen. Es gibt jedoch Lösungen, um diese Einschränkung zu überwinden, ohne auf Bibliotheken von Drittanbietern wie jQuery angewiesen zu sein.
Emulierung von getElementsByClassName() in älteren Internet Explorern
Um die Funktionalität nachzuahmen von getElementsByClassName() in IE6-8 kann das folgende Skript implementiert werden:
<code class="javascript">document.getElementsByClassName = function(cl) { var retnode = []; var elem = this.getElementsByTagName('*'); for (var i = 0; i < elem.length; i++) { if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]); } return retnode; };</code>
Verwendung:
Fügen Sie das Skript einfach in Ihre Website ein, und es wird Erweitern Sie das Dokumentobjekt mit einer getElementsByClassName()-Methode, die in allen gängigen Browsern funktioniert, einschließlich älterer Versionen von Internet Explorer.
Beispiel:
<code class="html"><html> <head> <script src="getElementsByClassName.js"></script> ... </head> <body> <div class="red-border"></div> ... var borderDivs = document.getElementsByClassName('red-border'); </body> </html></code>
Das obige ist der detaillierte Inhalt vonWie emuliere ich getElementsByClassName() in älteren Internet Explorern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!