2009-05-08 23 views

答えて

32
$("table:first > tr:first") 

または

$("table:first").find("tr:first") 

または

$("table:first").children("tr:first") 

かだから私は、フォローアップの質問を理解していれば

$("table").eq(0).children("tr").eq(0) 

...

trは

または

$("table").eq(1).children("tr:has(table:eq(2))") 
+0

ありがとうチャド、その働き(2番目のオプションのみ)。 しかし、次の質問は、3つのテーブルが含まれている場合、私のページで2番目のテーブルの行を選択するかどうかです。提案したコマンドは、最初のテーブルまたは最後のテーブルに対してのみ成功します。中間テーブルはどうですか? ありがとうございます。 –

+0

jQueryは本当に柔軟性があり、正確な例を提供するためにはHTML構造を参照する必要があります。たとえば、タグがテーブルにある場合、私のコードの最初の例は機能しません。いくつかのサンプルHTMLを投稿してください。セレクタを拾い上げることができます –

+0

'.find( '> tbody> tr、> tr')' '.children(" tr:first ")'をスワップすることをお勧めします。 'tbody'をすべてのテーブルに追加し、いくつかはしません](http://stackoverflow.com/questions/1858267/how-to-find-tr-inside-table-with-depth-1) – user568458

0

はjQueryの特定はしないが、私はこの w3c selectors pageでセレクタをDOMに導入された第三のテーブルを持っている場合は第二の表の中の任意のtrのを取得:
$("table:eq(1) tr:has(table:eq(2))") 

はに変換されます。それは非常に詳細ですが、複雑な例がたくさんあります。

+0

と最新のjQueryがサポートするもの彼らのセレクターエンジンであるSizzle:http://wiki.github.com/jeresig/sizzle –

1

jQueryのeq()メソッドを使用すると、取得する要素のインデックスを指定できます。

$("table:eq(n) tr:eq(n)") 

n個のビーイングと:
これはDOM

$('table:eq(1) tr:first') 
+0

実際には3番目のテーブルの最初の行が選択されます。 eq()はゼロベースです –

+0

あなたは右ですチャット私はこれについてtottalyが忘れていた、修正されました。 – duckyflip

5

あなたは番目のテーブル内のn番目の行を選択するために使用できる何かで見られる第二のテーブルの最初の行を選択しますテーブルまたはtrのゼロベースのインデックス。

例:

$("table:eq(2) tr:eq(4)") 

は、第3表の5行目を取得します。

2

@ svintoの回答は間違いなく、これを達成するための最短で、最も簡単で簡単な方法です。あなたがいるなら本当に(ループのために、任意の複雑な内の選択など)のパフォーマンスに関する、これが最も可能性が高い少し速くであることを証明するかもしれません:

$('tr').eq(0) 

あなたはだけのjQueryを使用する必要はありません場合はセレクタと、実際にDOM <TR>要素を必要とし、あなたが使用することができます。また

$('table')[0].rows[0] 

$('tr')[0] 
関連する問題