size()函数与js selector / is不同

时间:2014-10-26 16:37:05

标签: javascript jquery

这是我的代码:

<input type="checkbox"> a<br />
<input type="checkbox"> b<br />
<input type="checkbox"> c<br />
<button>Size</button>

<script>
$('button').click(function() {
    alert($('input').is(':checked').size());
});
</script>

JS小提琴:http://jsfiddle.net/a8f7stx5/

当我点击&#34;尺寸&#34;按钮我得到一个&#34;未捕获的TypeError:undefined不是一个函数&#34;错误。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

$('input').is(':checked')将根据复选框值返回标志为true false,并且使用方法.size()将在bool值上返回undefined(您可以在控制台中看到错误)。

也使用.length代替.size(),因为版本1.8中不推荐使用大小:

$('input:checked').size()

<强> Working Demo

答案 1 :(得分:1)

.is()返回元素是否满足选择器的布尔值。请尝试使用.filter()

alert($('input').filter(':checked').size());

答案 2 :(得分:0)

.length属性是首选方式:

$('input:checked').length;

DEMO