选择涉及父级的jQuery元素

时间:2014-08-06 05:42:20

标签: javascript jquery

考虑以下场景和jQuery使用变体:

HTML

<ul class="wrapper">
    <li class="item">item 1</li>
    <li class="item">item 2</li>
    <li class="item">item 3</li>
    <li class="item">item 4</li>
</ul>

用法a。

$('.wrapper').find('.item').addClass('active');

用法b。

$('.item', '.wrapper').addClass('active');

我的问题

  • 在功能方面它们是否相同?
  • 一个人表现得比另一个好吗?
  • 假设它们是相同的,哪一个被认为是更好的做法?

2 个答案:

答案 0 :(得分:2)

$('.item', '.wrapper').addClass('active');

将在内部翻译为

$('.wrapper').find('.item').addClass('active');

所以我确信它们之间没有区别。

//HANDLE: $(expr, context) 
//(which is just equivalent to: $(context).find(expr)

我刚在jquery source

中找到了上述评论

答案 1 :(得分:1)

效果结果可能有用http://jsperf.com/

enter image description here