【问题标题】:CSS or jQuery selector? [closed]CSS 或 jQuery 选择器? [关闭]
【发布时间】: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.

标签: jquery html css jquery-selectors css-selectors


【解决方案1】:

如果您会看到JSPERF test,那么您会发现.find() 绝对是更好更快的方法。

实际上.find() 将选择所有匹配的后代元素(即子元素、子元素的子元素等...),而&gt; 是直接子元素选择器(即,它将获取直接子元素)。

【讨论】:

  • 虽然您的答案是正确的,但您能否将一些统计数据与您的答案保持一致?否则,此答案取决于外部资源的存在,并且在该资源跌落或被移动的情况下,它只不过是一个未经证实的断言。
  • @DavidThomas:- 更新了!
猜你喜欢
  • 2014-08-08
  • 1970-01-01
  • 2010-09-20
  • 2012-04-13
  • 1970-01-01
  • 2010-12-12
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多