Maison  >  Article  >  interface Web  >  Comment émuler getElementsByClassName() dans les anciens Internet Explorers ?

Comment émuler getElementsByClassName() dans les anciens Internet Explorers ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 07:35:18160parcourir

How to Emulate getElementsByClassName() in Older Internet Explorers?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn