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 回答