在jquery中删除和显示行时出现问题

在jquery中删除和显示行时出现问题,jquery,Jquery,我的代码中再次隐藏和显示行时出现问题,但它不起作用。当我对第二个循环的代码进行注释时,它工作得非常好,但当我添加第二个循环时,又会出现问题。这是我的密码 <script> $("#btnClick").click(function(){ $("form input[type=checkbox]:not(:checked)").each( function(){ var checkBoxID = $(this

我的代码中再次隐藏和显示行时出现问题,但它不起作用。当我对第二个循环的代码进行注释时,它工作得非常好,但当我添加第二个循环时,又会出现问题。这是我的密码

<script>


    $("#btnClick").click(function(){

        $("form input[type=checkbox]:not(:checked)").each(
        function(){
                var checkBoxID = $(this).attr('id');

                //alert("checkBoxID"+" "+checkBoxID);
                $("table td").each(function(){

                    if(checkBoxID==$(this).attr('id')){
                    //alert($(this).attr('id'));
                        $(this).hide();
                    }
                });
        });

        $("form input[type=checkbox][checked]").each(
        function(){
                var checkBoxID = $(this).attr('id');

                //alert("checkBoxID"+" "+checkBoxID);
                $("table td").each(function(){

                    if(checkBoxID==$(this).attr('id')){
                    //alert($(this).attr('id'));
                        $(this).show();
                    }
                });
        });
    });

</script>

$(“#btnClick”)。单击(函数(){
$(“表单输入[类型=复选框]:未(:选中)”)。每个(
函数(){
var checkBoxID=$(this.attr('id');
//警报(“checkBoxID”+“”+checkBoxID);
$(“表td”)。每个(函数(){
if(checkBoxID==$(this).attr('id')){
//警报($(this.attr('id'));
$(this.hide();
}
});
});
$(“表单输入[type=checkbox][checked]”)。每个(
函数(){
var checkBoxID=$(this.attr('id');
//警报(“checkBoxID”+“”+checkBoxID);
$(“表td”)。每个(函数(){
if(checkBoxID==$(this).attr('id')){
//警报($(this.attr('id'));
$(this.show();
}
});
});
});

提前感谢。

实际发生的事情是在$.each循环中,当您引用$(此)时,它实际上在检查td,因为您使用的是$(“表td”)

实际上。。。第二次查看时,似乎您可能使用了相同的ID作为复选框,而td用于隐藏复选框

问题:将每个函数的初始值替换为:

$("form input[type=checkbox]").not(":checked").each(//..

替换这个

$()表格 输入[类型=复选框][选中]”)。每个(

$()表格 输入[类型=复选框]:选中“)。每个(


您可以分别使用较短的定义:$('form:checkbox:not(:checked')和jQuery('form:checkbox:checked'),而不是$('form input[type=checkbox]:not(:checked)])和$('form input[type=checkbox][checked])。@CoolEsh…感谢它起作用了。:)感谢Phelios它起作用了:)。对不起,迟了答复。你能告诉我两行之间的区别吗。
[checked]
vs
:checked
:checked在jquery中是一个单词,所以[checked]实际上是无效的。[]用于属性搜索。
$("#btnClick").click( function(){ 
   $("form input[type=checkbox]:not(:checked)").each( function(){ 
     var checkBoxID = $(this).attr('id'); 
     //alert("checkBoxID"+" "+checkBoxID); 
     $("table td").each(function(){ 
        if(checkBoxID==$(this).attr('id')){ 
          //alert($(this).attr('id')); 
          $(this).hide(); 
        } 
     }); 
   }); 
   $("form input[type=checkbox][checked]").each( function(){ 
      var checkBoxID = $(this).attr('id'); 
      //alert("checkBoxID"+" "+checkBoxID); 
      $("table td").each(function(){ 
         if(checkBoxID==$(this).attr('id')){ 
            //alert($(this).attr('id')); 
            $(this).show(); 
          }  
      }); 
    }); 
});