ホームページ >ウェブフロントエンド >jsチュートリアル >IE6-8でのgetElementsByClassName()の非互換性を解決するにはどうすればよいですか?
Internet Explorer 6、7、または 8 で getElementsByClassName() を使用してクラス名で要素を選択しようとした場合を実行すると、「オブジェクトはこのメソッドをサポートしていません。」というエラー メッセージが表示される場合があります。これは、これらの古いブラウザには、この最新の DOM メソッドのサポートが組み込まれていないためです。
この制限を克服し、これらのブラウザでクラスベースの選択を有効にするには、実装することを検討してください。カスタムソリューション。以下のスニペットは、getElementsByClassName() の機能を複製する JavaScript 関数を提供します:
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; };
このコードを Web ページに追加した後、通常どおり document.getElementsByClassName() を使用して、クラスごとに要素を取得できます。 IE6、IE7、IE8 の名前。
以上がIE6-8でのgetElementsByClassName()の非互換性を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。