質問:
以下のコードはインターネットでエラーを発生しますExplorer 6、7、および 8:
var borderTds = document.getElementsByClassName('leftborder');
問題:
IE6、IE7、IE8 などの従来の Internet Explorer ブラウザーは、getElementsByClassName() をネイティブにサポートしていません。方法。このメソッドは、クラス属性に基づいて要素を選択するために使用されます。
解決策:
この問題を解決するには、次の回避策を使用して getElementsByClassName() をエミュレートできます。これらのブラウザの機能:
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; };
実装:
var borderTds = document.getElementsByClassName('leftborder');
利点:
この回避策により、クラスごとに要素を選択できます。 jQuery などの外部ライブラリに依存しない従来の Internet Explorer ブラウザ。
以上が従来の Internet Explorer ブラウザでの getElementsByClassName() の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。