CSS 或 jQuery 选择器? [关闭]
Posted
技术标签:
【中文标题】CSS 或 jQuery 选择器? [关闭]【英文标题】:CSS or jQuery selector? [closed] 【发布时间】:2015-07-19 08:39:46 【问题描述】:假设有以下 html:
<div id="test">
<span class="testSpan"></span>
</div>
在#test
div 中选择span
有两种方法
(我知道我可以直接选择跨度,但这不是问题的重点):
$('#test > .testSpan');
和
$('#test').find('.testSpan');
就速度、浏览器兼容性或其他方面而言,以下哪种方式最优化?
还是没有区别?
【问题讨论】:
也许您应该阅读以下内容:learn.jquery.com/performance/optimize-selectors 第一个示例非常适合您的问题:The .find() approach is faster because the first selection is handled without going through the Sizzle selector engine – ID-only selections are handled using document.getElementById(), which is extremely fast because it is native to the browser.
jsperf.com/css-or-jquery
【参考方案1】:
如果您会看到JSPERF test,那么您会发现.find()
绝对是更好更快的方法。
实际上.find()
将选择所有匹配的后代元素(即子元素、子元素的子元素等...),而>
是直接子元素选择器(即,它将获取直接子元素)。
【讨论】:
虽然您的答案是正确的,但您能否将一些统计数据与您的答案保持一致?否则,此答案取决于外部资源的存在,并且在该资源跌落或被移动的情况下,它只不过是一个未经证实的断言。 @DavidThomas:- 更新了!以上是关于CSS 或 jQuery 选择器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章