ホームページ >ウェブフロントエンド >jsチュートリアル >document.getElementsByClassName を Internet Explorer で動作させるにはどうすればよいですか?
document.getElementsByClassName と Internet Explorer の互換性
document.getElementsByClassName メソッドは、特定のクラスの要素を取得する便利な方法を提供します。ただし、Internet Explorer (IE) との互換性の問題に直面しています。
Jonathan Snook の解決策
この問題に対処する一般的なアプローチの 1 つは、Jonathan Snook のカスタム関数 getElementsByClassName を使用することです。 。この関数は正規表現を利用して、目的のクラス名を持つ要素を検索します。
ただし、IE では、このソリューションでも、不正な呼び出しによりエラーが発生する可能性があります。この関数は次のように呼び出す必要があります:
function getElementsByClassName(node, classname) {...} tabs = getElementsByClassName(document.body, 'tab');代わりに:
document.getElementsByClassName(document.body, 'tab');
その他の互換オプション
IE8 以降をサポートする場合で十分な場合は、次のポリフィルを実装できます。 document.getElementsByClassName:if (!document.getElementsByClassName) { document.getElementsByClassName = function (className) { return this.querySelectorAll('.' + className); }; Element.prototype.getElementsByClassName = document.getElementsByClassName; } tabs = document.getElementsByClassName('tab');
結論
Jonathan Snook の関数の呼び出しを調整するか、提供されているポリフィルを使用することで、document.getElementsByClassName の互換性の問題を解決できます。つまり以上がdocument.getElementsByClassName を Internet Explorer で動作させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。