Compatibilité entre navigateurs pour getElementsByClassName()
L'incapacité d'IE6, IE7 et IE8 à utiliser la méthode getElementsByClassName() présente un défi lorsque vous tentez de sélectionner des éléments en fonction de leur attribut de classe. Cependant, il existe des solutions disponibles pour surmonter cette limitation sans recourir à des bibliothèques tierces comme jQuery.
Émulation de getElementsByClassName() dans les anciens Internet Explorers
Pour imiter la fonctionnalité de getElementsByClassName() dans IE6-8, le script suivant peut être implémenté :
<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>
Utilisation :
Incluez simplement le script sur votre site Web, et il sera étendez l'objet document avec une méthode getElementsByClassName() qui fonctionne dans tous les principaux navigateurs, y compris les anciennes versions d'Internet Explorer.
Exemple :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!