Rumah > Soal Jawab > teks badan
$(“#content .abc”) atau $(“#content”).find(“.abc”) Yang manakah lebih cekap?
女神的闺蜜爱上我2017-06-26 10:52:26
$("#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...
PHP中文网2017-06-26 10:52:26
console.time('1')
$("#content .child")
console.timeEnd('1')
console.time('2')
$("#content").find('.child')
console.timeEnd('2')
1: 0.908935546875ms
2: 0.147705078125ms
简单测试第二种快点
滿天的星座2017-06-26 10:52:26
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...