Heim  >  Artikel  >  Web-Frontend  >  Wie emuliere ich getElementsByClassName() in älteren Internet Explorern?

Wie emuliere ich getElementsByClassName() in älteren Internet Explorern?

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 07:35:18160Durchsuche

How to Emulate getElementsByClassName() in Older Internet Explorers?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn