JQuery复选框状态在组click()和$.each(obj.click())之间的更新方式不同

JQuery复选框状态在组click()和$.each(obj.click())之间的更新方式不同,jquery,events,checkbox,Jquery,Events,Checkbox,下面的代码在相同的行为中不起作用。单击事件和调用foo的顺序不同。我想知道为什么它们在调用单击和在每次调用单击之前迭代对象之间表现出不同的顺序 <script type="text/javascript"> function foo(obj){ alert(obj.id+" ->"+obj.checked); } function clickAll(val){ if (val) { $(

下面的代码在相同的行为中不起作用。单击事件和调用foo的顺序不同。我想知道为什么它们在调用单击和在每次调用单击之前迭代对象之间表现出不同的顺序

<script type="text/javascript">

      function foo(obj){
        alert(obj.id+" ->"+obj.checked);
      }

      function clickAll(val){
        if (val) {
          $(":checkbox").click();
        } else {
          $(":checkbox").each(function(i,obj){
              obj.click();
              });
        }
      }
    </script> 
  </head>
<body>
<input type="checkbox" id="check1" onclick="foo(this)" /> a
<input type="checkbox" id="check2" onclick="foo(this)" /> b
<input type="checkbox" id="check3" onclick="foo(this)" /> c
<input type="button" onclick="clickAll(true)" value="click all" />
<input type="button" onclick="clickAll(false)" value="click all each" />
</body>
而不是

$(":checkbox").each(function(i,obj){
 obj.click();
});
尝试:


哦谢谢单击标准HTMLDOM和JQuery方法。T-T
$(':checkbox').each(function() {
 $(this).click();
});
$(":checkbox").each(function(i,obj){ // i is an index and obj is a dom element object... 
    //obj.click();  not a jQuery Object that is why it's not working as expected
    $(obj).click(); // do this instead..
});