Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa querySelector hanya memilih elemen pertama apabila menggunakan querySelectorAll()?

Mengapa querySelector hanya memilih elemen pertama apabila menggunakan querySelectorAll()?

Linda Hamilton
Linda Hamiltonasal
2024-11-07 08:17:02516semak imbas

Why does querySelector only select the first element when using 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn