jQuery children()没有选择tfoot tr元素

时间:2013-03-13 14:55:07

标签: jquery

我有以下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')

1 个答案:

答案 0 :(得分:1)

children的工作方式,它接受元素的所有直接子元素,然后将它们全部与选择器相匹配。所有直接子项都不匹配选择器tfoot tr

实际上,没有任何情况下这个选择器可以匹配直接的孩子,因为它真的与自己相矛盾。它要求直接的孩子是后代的后代。 (基本上是一个至少也是孙子的直接孩子)。

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

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

请注意>是子选择器。这将获得tr的任何tfoot,它是{{1}}的直接子项,它是该表的直接子项。