Beim Versuch, getElementsByClassName() zu verwenden, um Elemente anhand ihres Klassennamens in Internet Explorer 6, 7 oder 8 auszuwählen , erhalten Sie möglicherweise die Fehlermeldung „Objekt unterstützt diese Methode nicht.“ Dies liegt daran, dass diesen älteren Browsern die integrierte Unterstützung für diese moderne DOM-Methode fehlt.
Um diese Einschränkung zu überwinden und die klassenbasierte Auswahl in diesen Browsern zu ermöglichen, sollten Sie eine Implementierung in Betracht ziehen eine individuelle Lösung. Das folgende Snippet stellt eine JavaScript-Funktion bereit, die die Funktionalität von getElementsByClassName() nachbildet:
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; };
Nachdem Sie diesen Code zu Ihrer Webseite hinzugefügt haben, können Sie document.getElementsByClassName() wie gewohnt verwenden, um Elemente nach ihrer Klasse abzurufen Namen in IE6, IE7 und IE8.
Das obige ist der detaillierte Inhalt vonWie behebe ich die Inkompatibilität von getElementsByClassName() in IE6-8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!