9

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

假设我们有:

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

所以

$('div > p')

或者

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

?

4

2 回答 2

10

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

于 2012-05-15T08:32:25.493 回答
1

$('div > p')在这种情况下更好更快

有了这个,您将解析 dom 一次以找到您的选择器。

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

于 2012-05-15T08:34:23.017 回答