2011-07-19 13 views
3

内部の第2スパンの子を選択:私は、各行の第二または第一スパン「select_me」を選択しに行くかどうjqueryのセレクタ - 私は、次のマークアップ持って、各テーブル行

<table> 
<thead> 
... 
</thead> 
<tbody> 
<tr> 
    <td> 
     <span class='select_me' id='42'></span> 
    </td> 
    <td> 
     <span class='select_me' id='43'></span> 
    </td> 
    </tr> 
<tr> 
    <td> 
     <span class='select_me' id='50'></span> 
    </td> 
    <td> 
     <span class='select_me' id='54'></span> 
    </td> 
    </tr> 
</table> 

を? 私はそれがこのようなものの姿 - 私はID

$("td").each(function(){ 
v = $(this).children(".select_me:first").attr("id"); 
}); 

を取得したいが、それは任意の助けが

+0

なぜ( ".big")ですか?クラス "big"の要素はありません! –

+0

私の悪い...私のプロジェクトでは、どちらも大きくなっていますが、ここでは、私は1つだけを切り替えました。 –

答えて

6

:eqセレクタ:

$("tr").each(function() { 
    var firstId = $("span.select_me:eq(0)", this).attr("id"); 
    var secondId = $("span.select_me:eq(1)", this).attr("id"); 
}); 

あなたは2つだけを持っているので、行当たり<span>要素は、あなたも:first:lastセレクタを使用することができます。

$("tr").each(function() { 
    var firstId = $("span.select_me:first", this).attr("id"); 
    var secondId = $("span.select_me:last", this).attr("id"); 
}); 
1

これを試していただければ幸いです、「未定義」を出力する - あなたが使用することができます

$("td").each(function(){ 
    first = $(this).find("span.select_me:eq(0)").attr("id");// for first 
    Second = $(this).find("span.select_me:eq(1)").attr("id");// for second 
    }); 
+0

しかし、私は1番目または2番目の要素を必要とします。 –

+0

更新された回答を参照してください。 – Vivek

2

を - 秒

$("tr").each(function(){ 
    v = $(this).find("td:nth-child(1) span.select_me").attr("id"); 
}); 

-

$("tr").each(function(){ 
    v = $(this).find("td:nth-child(2) span.select_me").attr("id"); 
}); 
関連する問題