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')

>これが子セレクターであることに注意してください。これにより、テーブルの直接の子でtrあるaの直接の子であるものが取得さtfootれます。

于 2013-03-13T15:03:20.477 に答える