cari

Rumah  >  Soal Jawab  >  teks badan

Manakah yang lebih cekap, $("#content .abc") atau $("#content").find(".abc")?

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

天蓬老师天蓬老师2736 hari yang lalu963

membalas semua(4)saya akan balas

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我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...

    balas
    0
  • PHP中文网

    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
    简单测试第二种快点

    balas
    0
  • 滿天的星座

    滿天的星座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...

    balas
    0
  • 滿天的星座

    滿天的星座2017-06-26 10:52:26

    Yang kedua lebih pantas

    balas
    0
  • Batalbalas