0

私はJQueryにかなり慣れていないので、これはおそらく簡単なものです...

この HTML 構造を考えてみてください。有効な HTML ではないことはわかっていますが、それは重要ではありません。

<table id="mytable">
<tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>1.2</td>
    <td>1.3</td>
</tr>
<tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>2.2</td>
    <td>2.3</td>
</tr>
<tr>
    <td><input type="checkbox" /></td>
    <td>3.2</td>
    <td>3.3</td>
</tr>
</table>

基本的に、チェックボックスがマークされている各テーブル行から最後のテーブル セルを選択する必要があります。この場合、「1.3」と「2.3」(「3.3」ではない) を含むテーブル セルです。チェックされたチェックボックスを見つけるのは簡単ですが、どういうわけか、最後のテーブル行の最後のテーブルセル (「2.3」) だけになってしまいます。誰かがこれに対する解決策を知っていますか?

4

3 に答える 3

2

おそらくこのようなもの:

var foo = $('#mytable tr:has("input:checked") td:last-child');
于 2012-05-10T15:11:14.847 に答える
0
var result;

$('#mytable tr').each(function() {
    if ($(this).find('input').attr('checked') == 'checked') {           
        result = $(this).children('td:last-child').html();
        alert(result);
    }       
})
于 2012-05-10T15:14:49.573 に答える
0

これを行う簡単な方法があるかもしれませんが、これが私の解決策です:

$("#mytable td input:checked")
    .parent().parent()
    .find("td:last")
    .css("color","red");​

実際の例を見るには: http://jsfiddle.net/exQZJ/

于 2012-05-10T15:18:58.510 に答える