选择父母的最后一个元素

时间:2012-05-10 15:08:27

标签: jquery

我对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”)。有人知道解决方案吗?

3 个答案:

答案 0 :(得分:3)

或许这样的事情:

var foo = $('#mytable tr:has("input:checked") td:last-child');

答案 1 :(得分:0)

var result;

$('#mytable tr').each(function() {
    if ($(this).find('input').attr('checked') == 'checked') {           
        result = $(this).children('td:last-child').html();
        alert(result);
    }       
})

答案 2 :(得分:0)

可能有一种更简单的方法可以做到这一点,但这是我的解决方案:

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

要查看一个有效的示例:http://jsfiddle.net/exQZJ/