Javascript .index()在.each()中,当复选框数组位于表或div中时,始终返回0

Javascript .index()在.each()中,当复选框数组位于表或div中时,始终返回0,javascript,jquery,Javascript,Jquery,请帮我解决这个问题 我将获取驻留在html表中的checkedcheckbox数组的索引号,但每次我都会提醒内部的每个checkbox的索引。each(),它将为每个循环返回0 但是,如果我删除该表及其所有tr和td(不使用两个checbox),则该代码将起作用 我的jquery代码: function notify() { $("input[type = 'checkbox']:checked").each(function(){

请帮我解决这个问题

我将获取驻留在html表中的checkedcheckbox数组的索引号,但每次我都会提醒内部的每个checkbox的索引。each(),它将为每个循环返回0

但是,如果我删除该表及其所有tr和td(不使用两个checbox),则该代码将起作用

我的jquery代码:

function notify() {

               $("input[type = 'checkbox']:checked").each(function(){
               alert($(this).index());  /*always return zero when the check[] inside a table or div */                
               });           
           }

function main() {


        $("input[type = 'button']").click(notify);
}


$(document).ready(main);
我的html代码:

 <table>
   <tr><td>
    <input type='checkbox' name='check[]' />
   </td><td>
   <input type='checkbox' name='check[]' />
   </td> </tr>  
 </table>   
<input type='button' name='button' value='ok'/>

试试这个

$("input:checkbox:checked").each(function(index,value){
          alert($(this).parents('td').index());  
  }); 
试试这个

$("input:checkbox:checked").each(function(index,value){
          alert($(this).parents('td').index());  
  }); 

这可能就是您正在寻找的。既然您将复选框包装在td中,为什么不查找td的索引呢


这可能就是你要找的。既然您将复选框包装在td中,为什么不查找td的索引呢


不带参数的
.index()
返回节点在其自身同级中的位置。在每个
中,您的复选框都是第一个(也是唯一的)复选框-因此您得到了
0
请查看出现此问题的原因。我将研究找到另一个解决方案。
.index()
无参数返回节点在其自身同级中的位置。在每个
中,您的复选框都是第一个(也是唯一的)复选框-因此您得到了
0
请查看出现此问题的原因。我将研究以找到另一个解决方案。仍然不起作用。当不同td中的checbox[]元素出现问题时。如果我删除td,它可以工作。只有勾选两个复选框时才有效。但是如果只勾选了一个复选框,即使勾选了第二个复选框,它们也始终显示0。仍然不工作。当不同td中的checbox[]元素出现问题。如果我删除td,它有效。只有勾选两个复选框时才有效。但是如果只勾选了一个复选框,即使勾选了第二个复选框,它们也会显示0。非常感谢。最后,非常感谢。对于我的情况,我需要添加td部分。警报($(this.parents('td').parents('tr').index());非常感谢…最后…非常感谢…对于我的案例,我需要添加td部分。警报($(this.parents('td').parents('tr').index());