【问题标题】:jQuery first level children selector best wayjQuery 一级子选择器的最佳方式
【发布时间】:2012-05-15 08:27:38
【问题描述】:

使用 jQuery 从祖先中选择某些子代的最佳(最高效、更少 CPU 负载)方法是什么?

假设我们有:

<div>
 <b>1</b>
 <p>2</p>
 <a>3</a>
 <p>2</p>
</div>

所以

$('div &gt; p')

$('div').children('p')

?

【问题讨论】:

  • 您是否尝试过对其进行基准测试?

标签: jquery dom jquery-selectors


【解决方案1】:

根据这个jsPerf test 我刚刚创建的$('div &gt; p') 大约快两倍。我认为这两个选择器在返回的元素上没有什么不同,所以第一个可能更可取,至少从性能的角度来看是这样。

【讨论】:

  • 感谢测试。很有用。
  • 别担心,请务必收藏 jsPerf,它是一个对 JavaScript 代码进行基准测试的破解工具。
【解决方案2】:

$('div &gt; p') 在这种情况下更好更快

使用这个,您可以一次解析 dom 以找到您的选择器。

在另一种情况下,您将对其进行两次解析:一次查找 div 元素,一次查找 div 中的 p 元素

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 2014-11-12
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    相关资源
    最近更新 更多