在JQuery中选择具有父类的指定类的元素

时间:2012-07-06 09:38:11

标签: jquery class find parent

我不知道出了什么问题,我有以下几点:

<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(),但是对我来说这不是一个优雅的方法,有什么建议可以找到一个子元素匹配父类中的类以检索它的值吗? / p>

1 个答案:

答案 0 :(得分: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);
            }
        });
    }
});