0

我有以下 HTML。

<div>
    <table></table>
    <div><table id="startingPoint"></table></div>
    <table><tfoot><tr id="getThis"></tr></tfoot></table>
</div>

使用 find() 按预期选择 #getThis。

$('#startingPoint').parent().next().find('tfoot tr')

使用 children() 不会选择 #getThis。为什么?

$('#startingPoint').parent().next().children('tfoot tr')
4

1 回答 1

1

这种方式children有效,它获取元素的所有直接子元素,然后将它们全部与选择器匹配。没有直接的孩子匹配选择器tfoot tr

实际上,这个选择器不可能匹配一个直接的孩子,因为它确实自相矛盾。它要求直接子代是后代的后代。(本质上是一个直接的孩子,至少也是一个孙子)。

我相信这会做你想做的事情:

$('#startingPoint').parent().next().find('> tfoot > tr')

请注意,这>是子选择器。这将得到任何trtfoot表的直接子代的 a 的直接子代。

于 2013-03-13T15:03:20.477 回答