Heim  >  Artikel  >  Web-Frontend  >  Wie funktioniert document.getElementsByClassName im Internet Explorer?

Wie funktioniert document.getElementsByClassName im Internet Explorer?

DDD
DDDOriginal
2024-11-06 00:45:02831Durchsuche

How to Make document.getElementsByClassName Work in Internet Explorer?

Kompatibilität von document.getElementsByClassName mit Internet Explorer

Die Methode document.getElementsByClassName bietet eine bequeme Möglichkeit, Elemente mit einer bestimmten Klasse abzurufen. Es treten jedoch Kompatibilitätsprobleme mit Internet Explorer (IE) auf.

Jonathan Snooks Lösung

Ein gängiger Ansatz zur Behebung dieses Problems ist die Verwendung der benutzerdefinierten Funktion getElementsByClassName von Jonathan Snook . Diese Funktion verwendet einen regulären Ausdruck, um nach Elementen mit dem gewünschten Klassennamen zu suchen.

Der IE kann bei dieser Lösung jedoch aufgrund eines falschen Aufrufs immer noch auf einen Fehler stoßen. Die Funktion sollte wie folgt aufgerufen werden:

function getElementsByClassName(node, classname) {...}

tabs = getElementsByClassName(document.body, 'tab');

Anstelle von:

document.getElementsByClassName(document.body, 'tab');

Andere kompatible Optionen

Bei Unterstützung für IE8 und höher ausreicht, können Sie die folgende Polyfüllung für document.getElementsByClassName implementieren:

if (!document.getElementsByClassName) {
    document.getElementsByClassName = function (className) {
        return this.querySelectorAll('.' + className);
    };

    Element.prototype.getElementsByClassName = document.getElementsByClassName;
}

tabs = document.getElementsByClassName('tab');

Fazit

Indem Sie den Aufruf der Funktion von Jonathan Snook anpassen oder die bereitgestellte Polyfüllung verwenden, Sie können Kompatibilitätsprobleme mit document.getElementsByClassName im IE beheben.

Das obige ist der detaillierte Inhalt vonWie funktioniert document.getElementsByClassName im Internet Explorer?. 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