Heim  >  Artikel  >  Web-Frontend  >  Wie überwindet man getElementsByClassName()-Probleme in älteren Internet Explorer-Browsern?

Wie überwindet man getElementsByClassName()-Probleme in älteren Internet Explorer-Browsern?

Linda Hamilton
Linda HamiltonOriginal
2024-10-22 07:33:30507Durchsuche

How to Overcome getElementsByClassName() Issues in Legacy Internet Explorer Browsers?

getElementsByClassName()-Kompatibilitätsprobleme in älteren Internet Explorer-Browsern

Frage:

Der folgende Code löst einen Fehler im Internet aus Explorer 6, 7 und 8:

var borderTds = document.getElementsByClassName('leftborder');

Problem:

Alte Internet Explorer-Browser wie IE6, IE7 und IE8 unterstützen getElementsByClassName() nicht nativ. Verfahren. Diese Methode wird verwendet, um Elemente basierend auf ihrem Klassenattribut auszuwählen.

Lösung:

Um dieses Problem zu beheben, können Sie die folgende Problemumgehung verwenden, um getElementsByClassName() zu emulieren. Funktionalität in diesen Browsern:

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;
}; 

Implementierung:

  1. Kopieren Sie das Skript in Ihr HTML-Dokument.
  2. Nachdem das Skript erstellt wurde hinzugefügt, können Sie die Methode getElementsByClassName() wie folgt verwenden:
var borderTds = document.getElementsByClassName('leftborder');

Vorteile:

Mit dieser Problemumgehung können Sie Elemente nach ihrer Klasse auswählen ältere Internet Explorer-Browser, ohne auf externe Bibliotheken wie jQuery angewiesen zu sein.

Das obige ist der detaillierte Inhalt vonWie überwindet man getElementsByClassName()-Probleme in älteren Internet Explorer-Browsern?. 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