jQuery一级子元素选择器最佳方法

9

什么是使用jQuery从祖先元素选择特定子元素的最佳(最有效、负载最少)方法?

假设我们有以下元素:

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

那么,

$('div > p')

还是

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


2
你尝试过进行基准测试吗? - Jan Hančič
2个回答

10
根据我刚刚创建的这个jsPerf测试$('div > p')速度大约是之前那个选择器的两倍。我认为它们返回的元素并没有什么不同,因此从性能的角度来看,第一个选择器可能更加理想。

放心吧,一定要收藏jsPerf,它是一个非常棒的用于基准测试JavaScript代码的工具。 - Ben Everard

1

$('div > p') 对于这种情况来说更好、更快。

使用这个方法,您只需要一次解析 DOM 就可以找到选择器。

而在另一种情况下,您需要解析两次:一次是为了找到 div 元素,另一次是为了在 div 中找到 p 元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接