為什麼'querySelector”僅選擇第一個元素以及如何解決此問題?
為什麼 querySelector 只選擇第一個元素以及如何解決這個問題?
理解 querySelector
在 JavaScript 中,querySelector 方法選擇第一個元素根據提供的選擇器字串來匹配文件中的元素。如果多個元素與選擇器匹配,則僅傳回第一個元素。
問題描述
在您提供的 CodePen 中,您使用 querySelector 選擇工作日類別的元素。但是,您會發現,只有第一個匹配元素會觸發單擊事件,而其他所有元素都不會觸發。
解決方案:對多個元素使用 querySelectorAll
要解決此問題,您應該使用 querySelectorAll方法,它傳回一個包含所有符合元素的 NodeList。然後,您可以迭代 NodeList 並將事件處理程序附加到每個元素。
修訂的代碼:
document.querySelectorAll(".weekdays").forEach(elem => { elem.addEventListener("click", () => { document.querySelector(".bg-modal").style.display = "flex"; }); });
說明:
- document.querySelectorAll( ".weekdays"):選取所有具有工作日類別的元素並將它們作為NodeList.
- forEach:迭代NodeList 中的每個元素。
- elem.addEventListener("click", ...):為每個工作日元素附加一個點擊事件監聽器,這會觸發與先前顯示表單模態的程式碼相同。
現在,當您單擊任何工作日元素時,模態將正確顯示,解決了您在 querySelector 中僅選擇第一個元素時遇到的問題。
以上是為什麼'querySelector”僅選擇第一個元素以及如何解決此問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
