Rumah > Artikel > hujung hadapan web > Mengapa querySelector hanya memilih elemen pertama apabila menggunakan querySelectorAll()?
Mengapa querySelector hanya memilih elemen pertama dan bagaimana saya boleh membetulkannya?
Apabila kaedah querySelectorAll() digunakan pada pemilih yang memilih berbilang elemen, ia mengembalikan senarai nod.
Dalam kod yang disediakan, anda menggunakan querySelectorAll() untuk memilih semua elemen dengan kelas "hari bekerja." Isunya ialah anda menggunakan querySelector() kemudian dalam kod untuk menambah pendengar acara pada setiap elemen dalam senarai, yang hanya menyasarkan elemen pertama dalam senarai.
Untuk membetulkan isu ini, anda harus menggunakan forEach() untuk mengulangi setiap elemen dalam senarai dan menambah pendengar acara pada setiap elemen.
Berikut ialah kod yang dikemas kini:
document.querySelectorAll(".weekdays").forEach(elem => elem.addEventListener("click", () => { document.querySelector(".bg-modal").style.display = "flex"; }));
Atas ialah kandungan terperinci Mengapa querySelector hanya memilih elemen pertama apabila menggunakan querySelectorAll()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!