🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1610閲覧

queryselectorallで取得したnodelistのlengthが0になってしまう

yuyukaka

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/02/03 17:52

編集2021/02/03 17:56

前提・実現したいこと

queryselectorallで複数要素を取得し、「スクロールするたびに○○する」というプログラムを書きたいのですが、取得したnodelistが0になってしまいます。
調べてもわからなかった為質問させて頂きます。

該当のソースコード

html

1<ul class="contents-item"> 2 <li class="targetElement"> 3 <img src="img/chihiro6.png" alt="温泉"> 4 <div class="redLine"></div> 5 <div class="item-text"> 6 <h2>タイトル</h2> 7 <p>てきすとてきすとてきすとてきすとてきすとてきすと</p> 8 </div> 9 <div class="btn"><a href="#">詳細はこちら</a></div> 10 </li> 11 12 <li class="targetElement"> 13 <img src="img/chihiro3.jpg" alt="食事"> 14 <div class="redLine"></div> 15 <div class="item-text"> 16 <h2>タイトル</h2> 17 <p>てきすとてきすとてきすとてきすとてきすとてきすと</p> 18 </div> 19 <div class="btn"><a href="#">詳細はこちら</a></div> 20 </li>

javascript

1const targetElement = document.querySelectorAll(".targetElement"); 2 3console.log(targetElement); 4

console

1NodeList(0) 2length: 0 3__proto__: NodeListentries: 4 ƒ entries()forEach: ƒ forEach()item: ƒ item()keys: ƒ keys()length: (...)values: ƒ values()constructor: ƒ NodeList()Symbol(Symbol.iterator): ƒ values()Symbol(Symbol.toStringTag): "NodeList"get length: ƒ length()__proto__: Object 5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/02/03 21:09

HTML半端ですが、それでは他者が再現できません。 あと、そのscriptはどこに書いているのでしょう。
guest

回答1

0

</body>の前に実行するように持ってくるか
DOMContentLoadedのイベント内に入れるかでHTMLの読み込みが確実に完了している場所で実行するようにしてください。

これに限らず、取得したい対象の要素が読み込まれていないとJavaScriptから参照できないので今後も考慮した実装してください。特に動的に要素を作るときにハマります。

投稿2021/02/03 21:13

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問