“在你的jquery中追加追加()的调用”是什么,不这样做的风险是什么?

时间:2010-09-20 20:43:49

标签: jquery

本文的评论部分:http://ayende.com/Blog/archive/2010/09/18/resolving-cross-site-scripting-issues.aspx有一个非常有趣的评论。

在其中,Mark提到我需要jain调用append以防止“$(childDiv)多次查找”。

“$(childDiv)多次查找”漏洞的影响是什么?

3 个答案:

答案 0 :(得分:4)

确实没有漏洞,只是放慢速度。

$(childDiv).append(firstGroup).append(secondGroup);

会比

更快
$(childDiv).append(firstGroup);
$(childDiv).append(secondGroup);

因为必须两次查找childDiv。

答案 1 :(得分:1)

它是查找的开销。每个$()都是一个函数调用。虽然$('#id')查找速度很快,但其他查询速度并不快。无论如何,每当你这样做时,你必须搜索整个DOM,直到找到你想要的元素。

jquery函数返回'this'(对它们自己的引用),这样你就可以链接它们而不需要额外的查询开销。

您可以做的另一种方法是将jquery对象分配给本地var

var mydiv = $('mydiv');

然后做

mydiv.append();
mydiv.append();

如果你这样做了数千次,你会发现一个大的减速。 (某些浏览器的开销秒数)

答案 2 :(得分:0)

性能问题。较少的查找等于更快的计算。它还建议您尝试使用更多的ID而不是类,因为它们更快。即使使用id,最好将它们存储在变量中,而不是再次查找。在可能的情况下