ホームページ >ウェブフロントエンド >jsチュートリアル >Internet Explorer の古いバージョン (IE6、IE7、IE8) でクラス名によって要素を取得する方法

Internet Explorer の古いバージョン (IE6、IE7、IE8) でクラス名によって要素を取得する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-22 07:37:02468ブラウズ

How to Get Elements by Class Name in Older Internet Explorer Versions (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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。