如果我已经引用了某个项目,则在 jQuery 中选择后代
我有以下 HTML:
<table id="myTable">
<tr>
<td><div>test</div></td>
</tr>
<tr>
<td><div>test</div></td>
</tr>
</table>
我在变量 $myTable
中引用了 #myTable
。
如何在不再次使用字符串 #myTable
的情况下选择所有后代 div
标记(即仅使用 $myTable
对象)?
为了澄清,假设这个例子有效:
$('#myTable div')
...它不符合我的标准,因为我不想重新输入#myTable
。
此外,我不想像这样指定层次结构中的每个父级:
$myTable.children('tr').children('td').children('div')
我尝试使用
$myTable.children('div')
... 但它似乎只选择直接子级,而 div
元素则不是。
我想使用这样简洁的东西:
$myTable.descendants('div')
I have the following HTML:
<table id="myTable">
<tr>
<td><div>test</div></td>
</tr>
<tr>
<td><div>test</div></td>
</tr>
</table>
I have a reference to #myTable
in the variable $myTable
.
How can I select all descendant div
tags without using the string #myTable
again (i.e. use the $myTable
object only)?
To clarify, assuming this example worked:
$('#myTable div')
... it fails to meet my criteria, since I don't want to retype #myTable
.
Additionally, I'd prefer not having to specify each parent in the hierarchy like this:
$myTable.children('tr').children('td').children('div')
I tried using
$myTable.children('div')
... but it seems to only select immediate children, which the div
elements are not.
I want to use something terse like this:
$myTable.descendants('div')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 jQuery 中的
find
函数。或者,您可以这样指定范围:
两者都应返回相同的集合
You can use the
find
function in jQuery.Alternatively you can specify the scope like this:
both should return the same set
find 函数正是您想要的。
$myTable.find('div');
The find function does exactly what you want.
$myTable.find('div');
您可能无法测试建议的解决方案,因为您在 id 属性中包含了“#”。它应该是:
并且您可以只使用
$('div', $myTable)
来选择后代 div。在此处查看解决方案
You might have trouble testing the suggested solutions because you have included the "#" in your id attribute. It should be:
And you can just use
$('div', $myTable)
to select the descendant divs.Check out solution here