0

我不知道怎么了,我的情况如下:

<tr>
  <td><span class="idTask">1</span></td>               
  <td><span>Another Hello</span></td>                              
  <td><img class="delete" src="img/delete.png" alt="Edit" /></td>
  <td><input type="checkbox" name="delete[]" value="" /></td>
</tr>

当我单击一个按钮时,一个函数调用以遍历所有复选框以删除,我需要从 idTask 检索值,我正在尝试执行以下操作:

$(function(){
    $(".deleteAll").click( function(){
    var conf=confirm("Are you sure?");
    if(conf==true) {  
        $(':checkbox').each(function () {
        if(this.checked) {
            alert(($(this)).parent().find('.idTask').text());
        } 
        });
    }
    });
});

但是不起作用,使用 prev() 或 next() 工作,但对我来说不是一种优雅的方式来做到这一点,有什么建议可以在父级中找到与他的类匹配的子元素以检索他的值?

4

1 回答 1

1

复选框的父级是<td>但不是<tr>。你应该更好地使用closest()

$(".deleteAll").click(function() {
    if (confirm("Are you sure?")) {
        $(":checkbox").each(function() {
            if (this.checked) {
                // --------------.-.-.-.-.-.-.
                //               v v v v v v v
                var id = $(this).closest("tr").find(".idTask").text();
                alert(id);
            }
        });
    }
});
于 2012-07-06T09:40:33.640 回答