在jQuery对象中选择html元素

时间:2015-04-23 11:47:24

标签: jquery

如果我有:

<div id="foo">
  Hello!
  <div class="bar">
  </bar>
</div>

var some = $("#foo");

#foo 中选择 .bar div的一种方法是:

$(some.attr('id') + ' .bar') 

但这很脏。是否有一种干净的方法来选择某些中的 .bar div?

3 个答案:

答案 0 :(得分:5)

您需要使用.find()

  

获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

代码

$("#foo").find('.bar'); // some.find('.bar');

OR

您也可以使用.children()

  

获取匹配元素集中每个元素的子元素,可选择通过选择器进行过滤。

$("#foo").children('.bar'); // some.children('.bar');

注意:.children()方法与.find()的不同之处在于.children()仅沿DOM树向下移动一个级别,而.find()可以遍历多个级别以选择后代元素(孙子等)。

答案 1 :(得分:1)

试试这个:

var bar = $('#foo .bar');

这将选择bar元素内#foo类的元素。

文档:https://api.jquery.com/descendant-selector/

或者

var bar = some.find('.bar');

这将在bar内搜索some#foo的所有元素,即{{1}}。

文档:https://api.jquery.com/find/

答案 2 :(得分:1)

这很简单:

var some = $("#foo");

some.find(".bar");