Perbezaan antara querySelector dan getElementsByClassName
querySelector dan querySelectorAll
kaedah querySelector andAll digunakan untuk memilih elemen berdasarkan pemilih CSS. Ia lebih serba boleh daripada kaedah getElement* kerana ia membenarkan anda menggunakan mana-mana pemilih CSS yang sah, termasuk yang rumit seperti:
getElementById dan getElementsByClassName
getElementById dan getElementsByClassName, sebaliknya, ialah kaedah DOM yang digunakan untuk memilih elemen mengikut kriteria tertentu, seperti sebagai:
Perbezaan Utama
Perbezaan utama antara kaedah ini boleh diringkaskan seperti berikut:
Feature | querySelector* | getElement* |
---|---|---|
Selector Flexibility | CSS3 selectors | Limited to id, tag, and class |
Performance | O(n) complexity | O(1) complexity |
Return Type | Element (querySelector) or NodeList (querySelectorAll) | Element (getElementById) or HTMLCollection (getElementsByClassName/TagName/Name) |
Collection Liveness | Static (querySelectorAll) | Live (getElementsByClassName/TagName/Name) |
Id Dinamik dan querySelector
Dalam contoh XPages anda, querySelector tidak berfungsi kerana ID dijana secara dinamik dengan titik bertindih, yang tidak aksara yang sah dalam pemilih CSS. Untuk memilih elemen sedemikian, anda mesti menggunakan getElementById:
document.getElementById("view:_id1:inputText1")
Pertimbangan Tambahan
Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara Kaedah `querySelector`, `querySelectorAll` dan `getElement*` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!