ホームページ >ウェブフロントエンド >jsチュートリアル >Internet Explorer の古いバージョン (IE6、IE7、IE8) でクラス名によって要素を取得する方法
古い Internet Explorer (IE6、IE7、IE8) でのクラス名による要素の取得
問題:
Internet Explorer 6、7、8 では、このメソッドがサポートされていないため、getElementsByClassName() メソッドはエラーを返します。
解決策:
getElementsByClassName() をサポートしていないブラウザの場合は、次の代替メソッドを使用します:
<code class="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; };</code>
このスクリプトは、getElementsByTagName('*') を使用してページ上のすべての要素を反復処理し、各要素のクラス名が正しいかどうかを確認します。要素には、indexOf() を使用して指定されたクラスが含まれます。一致するクラス名が見つかった場合、その要素は retnode 配列に追加されます。結果の配列には、指定されたクラス名のすべての要素が含まれます。
以上がInternet Explorer の古いバージョン (IE6、IE7、IE8) でクラス名によって要素を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。