我不知道出了什么问题,我有以下几点:
<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>
答案 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);
}
});
}
});