ホームページ > ウェブフロントエンド > jsチュートリアル > Vanilla JavaScript でクラス名によって要素を効率的に取得および操作するにはどうすればよいですか?

Vanilla JavaScript でクラス名によって要素を効率的に取得および操作するにはどうすればよいですか?

DDD
リリース: 2024-12-15 20:24:16
オリジナル
629 人が閲覧しました

How Can I Efficiently Get and Manipulate Elements by Class Name in Vanilla JavaScript?

JavaScript のクラスによる要素の取得: 包括的なソリューション

JavaScript にはクラスによる要素の取得関数が組み込まれていないため、次のような課題が生じます。クラス属性に基づいて要素を操作する必要がある開発者。この記事では、バニラ JavaScript を使用してクラスごとに要素を取得する効果的な方法を検討します。

2 つのアプローチの物語: ID とクラス

伝統的に、要素はgetElementById() 関数を使用して一意の ID 経由でアクセスされている。ただし、複数の要素を扱う場合、ID は実用的ではなくなります。一方、クラスを使用すると、要素を柔軟にグループ化できます。

ソリューションの紹介

この制限を克服するために、replaceContentInContainer() と呼ばれる包括的な関数を紹介します。この関数は、クラス名と置換コンテンツの 2 つのパラメータを取ります。その動作方法は次のとおりです。

  • document.getElementsByTagName('*') を利用してドキュメント内のすべての要素を取得します。
  • これらの要素を反復処理し、それらのクラス リストを調べます。
  • 一致する要素が見つかると、その innerHTML を指定されたクラス名に置き換えます。 content.

コードの実装:

function replaceContentInContainer(matchClass, content) {
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if((' ' + elems[i].className + ' ').indexOf(' ' + matchClass + ' ')
                > -1) {
            elems[i].innerHTML = content;
        }
    }
}
ログイン後にコピー

使用例:

replaceContentInContainer('box', 'This is the replacement text');
ログイン後にコピー

この改訂されたソリューションクラスに基づいて要素内のコンテンツを効率的かつ柔軟に置き換えることができます。属性。

補足:

  • この関数は、幅広いブラウザーと互換性があります。
  • ドキュメント。多数の要素がある場合、計算コストが高くなる可能性があります。
  • 最適化手法など取得した要素をキャッシュとして使用して、パフォーマンスを向上させることができます。

以上がVanilla JavaScript でクラス名によって要素を効率的に取得および操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート