首頁 > web前端 > css教學 > 為什麼在使用querySelectorAll()時querySelector只選擇第一個元素?

為什麼在使用querySelectorAll()時querySelector只選擇第一個元素?

Linda Hamilton
發布: 2024-11-07 08:17:02
原創
592 人瀏覽過

Why does querySelector only select the first element when using querySelectorAll()?

為什麼 querySelector 只選擇第一個元素以及如何解決這個問題?

當在選擇器上使用 querySelectorAll() 方法時選擇多個元素,它會傳回一個節點清單。

在提供的程式碼中,您使用 querySelectorAll() 選擇類別為「weekdays」的所有元素。問題是您稍後在程式碼中使用 querySelector() 為清單中的每個元素新增事件偵聽器,該事件偵聽器僅針對清單中的第一個元素。

要解決此問題,您應該使用forEach() 迭代列表中的每個元素並向每個元素添加事件偵聽器。

以下是更新後的程式碼:

document.querySelectorAll(".weekdays").forEach(elem => elem.addEventListener("click",
 () => {
    document.querySelector(".bg-modal").style.display = "flex";
  }));
登入後複製

以上是為什麼在使用querySelectorAll()時querySelector只選擇第一個元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板