2

的HTML:

<div id="appcheck">
  <input class="precheck" type="checkbox" /> 
  <input class="precheck" type="checkbox" />
  <input class="precheck" type="checkbox" />
</div>

应该发现未经检查的结果的 jQuery。not checked无论选中多少个框,总是返回 3 。

$('input.precheck').each(function() {
  if($(this).not(':checked')) {
    console.log('not checked');
  }
});
4

1 回答 1

5

您可以使用 is+ 否定运算符而不是not. not不返回布尔值;它返回一个 jQuery 对象,并且您的 if 语句始终为真。

if (!$(this).is(':checked')) {

或者:

if (!this.checked) {

您还可以编码:

var notChecked = $('input.precheck').filter(function(){
   return !this.checked;
}).length;
于 2012-12-29T23:15:33.353 回答