document.querySelectorAllで選択された要素をループ処理する方法
2023-12-13 06:15:23
質問
document.querySelectorAllでクエリした選択要素にループをかけたいのですが、どうすればよいでしょうか?
例えば私は使用しています。
var checkboxes = document.querySelectorAll('.check');
for( i in checkboxes) {
console.log(checkboxes[i]);
}
出力します。
<input id="check-1" class="check" type="checkbox" name="check">
<input id="check-2" class="check" type="checkbox" name="check">
<input id="check-3" class="check" type="checkbox" name="check">
<input id="check-4" class="check" type="checkbox" name="check">
<input id="check-5" class="check" type="checkbox" name="check">
<input id="check-6" class="check" type="checkbox" name="check">
<input id="check-7" class="check" type="checkbox" name="check">
<input id="check-8" class="check" type="checkbox" name="check">
<input id="check-9" class="check" type="checkbox" name="check">
<input id="check-10" class="check" type="checkbox" name="check" checked="">
10
item()
namedItem()
私の問題は、最後にこのメソッドが3つの余分なアイテムを返すことです。どのように私はそれを適切に行うことができますか?
どのように解決するのですか?
for in
ループは配列や配列のようなオブジェクトには推奨されません - 理由はおわかりでしょう。番号でインデックスされた項目だけでなく、例えば
length
プロパティやいくつかのメソッドがありますが
for in
はそれら全てにループします。どちらかを使う
for (var i = 0, len = checkboxes.length; i < len; i++) {
//work with checkboxes[i]
}
または
for (var i = 0, element; element = checkboxes[i]; i++) {
//work with element
}
2番目の方法は、配列の一部の要素が偽りの可能性がある場合(あなたの場合ではありません)には使えません。
[]
を使う必要がないので、より読みやすくなります。
関連
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] HTMLのチェックボックスのchecked属性の適切な値は何ですか?
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] これは純関数ですか?
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法