Manakah yang lebih cekap, $("#content .abc") atau $("#content").find(".abc")?
天蓬老师
天蓬老师 2017-06-26 10:50:26
0
4
961

$(“#content .abc”) atau $(“#content”).find(“.abc”) Yang manakah lebih cekap?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(4)
女神的闺蜜爱上我

$("#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...

Ty80
console.time('1')
$("#content .child")
console.timeEnd('1')
console.time('2')
$("#content").find('.child')
console.timeEnd('2')
1: 0.908935546875ms
2: 0.147705078125ms
简单测试第二种快点
滿天的星座

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan