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