「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > document.querySelectorAll を使用して選択した項目をループするときに余分な要素を回避するにはどうすればよいですか?

document.querySelectorAll を使用して選択した項目をループするときに余分な要素を回避するにはどうすればよいですか?

2024 年 12 月 13 日に公開
ブラウズ:175

How to Avoid Extra Elements When Looping Through Selected Items with document.querySelectorAll?

document.querySelectorAll で選択した要素をループする

問題:
選択した要素をループしようとしたときdocument.querySelectorAll を使用すると、出力には無関係な追加の情報が含まれますitems.

例:

var checkboxes = document.querySelectorAll('.check');
for( i in checkboxes) {
  console.log(checkboxes[i]);
}

出力:












10
item()
namedItem()

この問題は、document.querySelectorAll が配列のようなオブジェクトである NodeList を返すために発生します。ただし、NodeList は、forEach.

Solution:

のような配列メソッドをサポートしていません。選択した要素を適切にループするには、NodeList を配列に変換します。これを行うにはいくつかの方法があります:

  1. Spread Syntax (ES2015 ):

    const divs = [...document.querySelectorAll('div')];
    divs.forEach((div) => {
      // Do something with each div
    });
  2. Array.from():

    const divs = Array.from(document.querySelectorAll('div'));
    divs.forEach((div) => {
      // Do something with each div
    });
  3. ノード インデックスのループ:

    const checkboxes = document.querySelectorAll('.check');
    for (let i = 0; i 
リリースステートメント この記事は次の場所に転載されています: 1729429999 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3