Heim  >  Artikel  >  Web-Frontend  >  Lösung für das Problem, dass der IE-Browser die Javascript-Fähigkeiten getElementsByClassName_ nicht unterstützt

Lösung für das Problem, dass der IE-Browser die Javascript-Fähigkeiten getElementsByClassName_ nicht unterstützt

WBOY
WBOYOriginal
2016-05-16 16:38:241212Durchsuche

Die getElementsByClassName-Methode wurde zu DOM3 hinzugefügt, wird aber von anderen Versionen außer IE9 und 10 nicht unterstützt. Das ist ein Ärgernis!
Die aktuelle Lösung besteht darin, festzustellen, ob der Browser sie unterstützt. Wenn er sie nicht unterstützt, fügen Sie die Methode getElementsByClassName hinzu Sie müssen dorthin gehen, unabhängig davon, ob es eine native Funktion gibt oder nicht. Ändern Sie den Code.

Einige Leute im Internet definieren direkt eine getElementsByClassName-Funktion, aber in diesem Fall müssen alle Verwendungen von document.getElementsByClassName im Code in getElementsByClassName umgeschrieben werden. Es ist etwas unpraktisch und nicht universell.

Die folgende Methode unterstützt das Schreiben von Dokumenten perfekt:

if(!document.getElementsByClassName){
  document.getElementsByClassName = function(className, element){
    var children = (element || document).getElementsByTagName('*');
    var elements = new Array();
    for (var i=0; i<children.length; i++){
      var child = children[i];
      var classNames = child.className.split(' ');
      for (var j=0; j<classNames.length; j++){
        if (classNames[j] == className){ 
          elements.push(child);
          break;
        }
      }
    } 
    return elements;
  };
}
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