在这里抛出这个问题'因为它让我今晚想到了。
我之前听说过,更好可以随时将HTML标记包含到jQuery选择器中,因为它可以通过告诉jQuery要查找哪些HTML标记来提升选择性能所以它不会搜索文档中的所有内容。 (如果可以,请转$('div.someclass')
而不是$('.someclass')
。)
我的问题是,现在有多么真实,使用当前版本的jQuery(目前为1.6.1)?
我甚至不确定这个概念是否出现在Sizzle之前(甚至不确定Sizzle是否有助于jQuery在这方面表现更好)。
当然,良好的编码实践会要求我在只是为了保持清晰时包含HTML标记,但是当我更愿意去的时候,我有一个非常灰色的区域
$('.someclass')
只是因为我不想去
$('div.someclass, a.someclass, p.someclass, img:nth-child(3n+2).someclass')
完全理论上只有家伙。我知道我可以去$('div,a,p,img:nth-child(3n+2)').filter('.someclass')
。
修改
在一个有点相关的说明中,我继续进行了perf tests on-tag vs without-tag selection(感谢Raynos),似乎没有标记选择比使用标记选择更有益。 FF和Chrome。在IE8上,with-tag仍然更快,但是由于边缘狭窄,它完全被其他浏览器上的替代品黯然失色。 HMM。
答案 0 :(得分:1)