Rumah >hujung hadapan web >tutorial js >Koleksi Javascript vs JQuery HTML
3 Objek HtmlCollection dikembalikan dari Document.GetElementsByTagName , document.getElementsByName dan Document.getElementsByClassName Methods
(tidak disokong dalam semua pelayar) . Secara luar biasa, mereka sama dengan tatasusunan kerana mereka mempunyai harta panjang dan unsur -unsur boleh diakses oleh [indeks]. Walau bagaimanapun, mereka bukan susunan; Kaedah seperti push (), slice () dan sort () tidak disokong.
Pertimbangkan dokumen HTML berikut:
Kedua -duanya mengembalikan nod yang sama sehingga panjang pengumpulan ialah 3:
Kami sekarang akan menambah elemen perenggan lain ke dokumen dan melihat koleksi lagi:
<body> <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p> </body>. Mereka dikemas kini secara automatik apabila dokumen asas berubah. JQuery dan kebanyakan perpustakaan JavaScript lain menggunakan kaedah seperti document.getElementsByTagName () tetapi menyalin nod yang dihasilkan ke array sebenar. Oleh itu, ia adalah pertanyaan mengenai keadaan dokumen pada masa itu: ia tidak pernah dikemas kini. Terdapat kelebihan dan kekurangan dengan kedua -dua kaedah. Sebagai contoh, kod berikut menyebabkan gelung tak terhingga sejak panjang htmlcollection meningkat sebagai elemen
ditambah:
var pCollection = document.getElementsByTagName("p"); var pQuery = $("p"); console.log("pCollection.length: ", pCollection.length); console.log("pQuery.length: ", pQuery.length);Yang mengatakan, mungkin terdapat situasi apabila htmlcollection hidup yang lebih cepat, asli lebih berguna daripada koleksi statik nod jQuery atau berulang kali membuat pemilihan yang sama. Nasib baik, kita boleh lulus apa -apa koleksi kepada jQuery apabila kita mahu memanipulasinya, mis.
pCollection.length: 3 pQuery.length: 3JQuery dan perpustakaan lain boleh memotong usaha pembangunan tetapi sentiasa memeriksa sama ada mungkin untuk menulis kod yang lebih cekap dalam JavaScript lama biasa tanpa menanggung permintaan fail tambahan dan overhed pemprosesan.
// add new paragraph var newp = document.createElement("p"); newp.appendChild(document.createTextNode("Paragraph 4")); document.body.appendChild(newp); // // display length console.log("pCollection.length: ", pCollection.length); console.log("pQuery.length: ", pQuery.length);Soalan Lazim mengenai JavaScript vs JQuery Html Collections
pCollection.length: 4 pQuery.length: 3Apakah perbezaan utama antara JavaScript dan JQuery ketika berurusan dengan koleksi HTML? JavaScript adalah bahasa pengaturcaraan yang secara langsung berinteraksi dengan koleksi HTML, yang membolehkan lebih banyak kawalan dan fleksibiliti. Walau bagaimanapun, ia boleh menjadi lebih kompleks dan memerlukan pemahaman yang lebih mendalam tentang bahasa. Sebaliknya, JQuery adalah perpustakaan JavaScript yang memudahkan banyak tugas, termasuk mengendalikan koleksi HTML. Ia menyediakan kaedah yang mudah digunakan untuk memanipulasi elemen HTML, tetapi ia mungkin tidak menawarkan tahap kawalan yang sama seperti JavaScript tulen.
biarkan array = array.from (koleksi); Koleksi HTML dalam jQuery?
Dalam jQuery, anda boleh menggunakan kaedah .eech () untuk melangkah ke atas koleksi HTML. Berikut adalah contoh:
$ ('. Contoh'). Setiap (fungsi (indeks, elemen) {
}); Kaedah jQuery pada koleksi HTML yang dikembalikan oleh kaedah JavaScript. Ini kerana kaedah JavaScript mengembalikan koleksi HTML, sementara kaedah jQuery mengembalikan objek jQuery. Walau bagaimanapun, anda boleh menukar koleksi html ke objek jQuery menggunakan fungsi jQuery $ (), seperti so:
let collection = document.getElementsByClassname ('Contoh');
Atas ialah kandungan terperinci Koleksi Javascript vs JQuery HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!