Qu'est-ce qui est le plus efficace, $("#content .abc") ou $("#content").find(".abc") ?
天蓬老师
天蓬老师 2017-06-26 10:50:26
0
4
958

$("#content .abc") ou $("#content").find(".abc") Qu'est-ce qui est le plus efficace ?

天蓬老师
天蓬老师

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

répondre à tous(4)
女神的闺蜜爱上我

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

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

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...

滿天的星座

Le deuxième est plus rapide

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal