Maison > Questions et réponses > le corps du texte
$("#content .abc") ou $("#content").find(".abc") Qu'est-ce qui est le plus efficace ?
女神的闺蜜爱上我2017-06-26 10:52:26
$("#content").find(".abc") La méthode .find() appellera les méthodes natives du navigateur (getElementById, getElementByName, getElementByTagName, etc.), donc c'est plus rapide. Beaucoup plus rapide que $("#content .abc")
À propos de l'efficacité du sélecteur jQuery, vous pouvez vous référer à l'analyse des performances 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
Le résultat du test est que la recherche est plus rapide
La raison est que l'ordre de sélection des différentes chaînes de sélection utilisées en interne par jQuery est de droite à gauche, donc cette instruction sélectionne d'abord .abc, puis filtre l'élément parent #content un par un, ce qui se traduit par C'est beaucoup plus lent.
En même temps, la méthode .find() appellera les méthodes natives du navigateur (getElementById, getElementByName, getElementByTagName, etc.), elle est donc plus rapide.
En comparant les deux, trouver est naturellement beaucoup plus rapide.
Voici le test : https://jsperf.com/jqueryfind...