如果我已经引用了一个项目,请在jQuery中选择一个后代

时间:2010-12-05 22:33:16

标签: jquery jquery-selectors

我有以下HTML:

<table id="myTable">
  <tr>
    <td><div>test</div></td>
  </tr>
  <tr>
    <td><div>test</div></td>
  </tr>
</table>

我在变量#myTable中引用了$myTable

如何在不再使用字符串div的情况下选择所有后代#myTable标记(即仅使用$myTable对象)?

澄清一下,假设这个例子有效:

$('#myTable div')

...它无法满足我的标准,因为我不想重新输入#myTable

此外,我不希望在层次结构中指定每个父级,如下所示:

$myTable.children('tr').children('td').children('div')

我尝试使用

$myTable.children('div')

...但似乎只选择直接的孩子,div元素不是。

我想用这样简洁的东西:

$myTable.descendants('div')

3 个答案:

答案 0 :(得分:5)

您可以在jQuery中使用find函数。

$myTable.find('div');

或者,您可以像这样指定范围:

$('div', $myTable);

两者都应该返回相同的集合

答案 1 :(得分:4)

find功能完全符合您的要求。

$myTable.find('div');

答案 2 :(得分:1)

您可能无法测试建议的解决方案,因为您在id属性中包含了“#”。它应该是:

<table id="myTable">

您可以使用$('div', $myTable)选择后代div。

Check out solution here