$("#content").find(".abc") Kaedah .find() akan memanggil kaedah asli penyemak imbas (getElementById, getElementByName, getElementByTagName, dll.), jadi ia lebih pantas. Jauh lebih pantas daripada $("#content .abc") Mengenai kecekapan pemilih jQuery, anda boleh merujuk kepada analisis prestasi http://blog.csdn.net/cxl44490...
Hasil ujian ialah pencarian lebih pantas Sebabnya ialah susunan pemilihan pelbagai rantai pemilih yang digunakan secara dalaman oleh jQuery adalah dari kanan ke kiri, jadi kenyataan ini mula-mula memilih .abc, dan kemudian menapis keluar elemen induk #kandungan satu demi satu satu, yang mengakibatkan Ia lebih perlahan. Pada masa yang sama, kaedah .find() akan memanggil kaedah asli penyemak imbas (getElementById, getElementByName, getElementByTagName, dll.), jadi ia lebih pantas. Membandingkan kedua-duanya, secara semulajadi mencari adalah lebih cepat.
Berikut ialah ujian: https://jsperf.com/jqueryfind...
$("#content").find(".abc") Kaedah .find() akan memanggil kaedah asli penyemak imbas (getElementById, getElementByName, getElementByTagName, dll.), jadi ia lebih pantas. Jauh lebih pantas daripada $("#content .abc")
Mengenai kecekapan pemilih jQuery, anda boleh merujuk kepada analisis prestasi http://blog.csdn.net/cxl44490...
Hasil ujian ialah pencarian lebih pantas
Sebabnya ialah susunan pemilihan pelbagai rantai pemilih yang digunakan secara dalaman oleh jQuery adalah dari kanan ke kiri, jadi kenyataan ini mula-mula memilih .abc, dan kemudian menapis keluar elemen induk #kandungan satu demi satu satu, yang mengakibatkan Ia lebih perlahan.
Pada masa yang sama, kaedah .find() akan memanggil kaedah asli penyemak imbas (getElementById, getElementByName, getElementByTagName, dll.), jadi ia lebih pantas.
Membandingkan kedua-duanya, secara semulajadi mencari adalah lebih cepat.
Berikut ialah ujian: https://jsperf.com/jqueryfind...
Yang kedua lebih pantas