2016-12-07 17 views
-2

このような特定のクラスを持つテーブル内のすべての行を繰り返したいとします。特定のクラスのテーブル行からセル値を取得するにはどうすればよいですか?

 $('tr.class1').each(function(index, element) 
     { 

     // get cell value here 

     }); 

どのようにしてセルの値を取得しますか?

+0

あなたには、いくつかのあなたのHTMLテーブルコードを提供することができますか? – Kebeng

+1

ようこそスタックオーバーフロー! [ツアー]を見て周りを見て、[ヘルプ]、特に[*どのように良い質問をしますか?*](/助け/ハウツー尋ねる)を読んでください。 [jQuery API](http://api.jquery.com)(1時間、2つのトップを取る)を読んで、問題を解決するために努力してください。もし問題が発生した場合は、問題を実証し、あなたが抱えている部分とあなたが望む結果を明確に伝えてください。 (1つは、セルには値がありません) –

+0

助けてください![fiddle](https://jsfiddle.net/adnL8aLq/#&togetherjs=mUc8CAq9KR) – RonyLoud

答えて

1

使用しているので、、あなたがあなたのコードを置き換え.htmlを()またはの.text()を使用する必要があります。

すべての行を反復処理する1つの方法をだ
$('tr.class1 td').each(function(index, element) 
     { 
      var content = $(element).text(); // to get cell content 
      $(element).text('new td content'); // to set cell content 
     }); 
+0

非常に速い回答をいただきありがとうございます。あなたのコードは完璧に動作します。 –

-1

セレクタを$('tr.class1 td')に変更してください。 class1クラスですべてのtdを取得します。

eachの機能の中で$(this).text()と呼び出すと、tdのコンテンツを取得します。

$('tr.class1 td').each(function() { 
    var value = $(this).text(); 
    console.log(value); 
}); 
0

そして

$('tr.class1 td') 

ようクラスに特定trに​​3210関数を使用して、すべてのtdをループしている全てtd(セル)を選択します。 この関数では、セル内容を取得するために.text()を使用する必要があります。

以下は動作するサンプルです。

ご質問がdownvotedされている理由

$('tr.class1 td').each(function(){ 
 
    console.log($(this).text()); // $(this) will refer to td element in the current iteration 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<table style="width:100%"> 
 
    <tr> 
 
    <th>Firstname</th> 
 
    <th>Lastname</th> 
 
    <th>Age</th> 
 
    </tr> 
 
    <tr class="class1"> 
 
    <td>Jill</td> 
 
    <td>Smith</td> 
 
    <td>50</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Eve</td> 
 
    <td>Jackson</td> 
 
    <td>94</td> 
 
    </tr> 
 
    <tr class="class1"> 
 
    <td>John</td> 
 
    <td>Doe</td> 
 
    <td>80</td> 
 
    </tr> 
 
</table>

+1

コードダンプは*役に立つ*答えではありません。 –

+0

@TJCrowderが更新しました。申し訳ありません –

+0

これはまだ実際の説明ではありません。 –

0

知らん、しかし、あなたが追加する必要があります。

$('tr.class1').each(function(index, element){ 
    var value = $(this).attr('value'); 
}); 

または

$('tr.class1').each(function(index, element){ 
    var value = $(this).value(); 
}); 

アップデート:表のセル内の値をしたい場合は、jQueryの

0

特定のクラスを持つテーブルに格納し、セルの値を取得します。

$('tr.class1').each(function(index, element)//Iterates all rows with 'class1' 
 
{ 
 
    $(element).find('td').each(function(i, e){//Iterates all cells inside those rows 
 
    var cellValue = $(e).text();//Gets the value of the current cell 
 
    console.log(cellValue);//Print it or whatever... 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table style="width:100%"> 
 
    <tr> 
 
    <th>Firstname</th> 
 
    <th>Lastname</th> 
 
    <th>Age</th> 
 
    </tr> 
 
    <tr> 
 
    <td>Jill</td> 
 
    <td>Smith</td> 
 
    <td>50</td> 
 
    </tr> 
 
    <tr class="class1"> 
 
    <td>Eve</td> 
 
    <td>Jackson</td> 
 
    <td>94</td> 
 
    </tr> 
 
    <tr class="class1"> 
 
    <td>Tim</td> 
 
    <td>Brown</td> 
 
    <td>55</td> 
 
    </tr> 
 
</table>

関連する問題