<div class="wrapper">
<input type="checkbox" checked>1
<input type="checkbox" checked>2
<input type="radio" checked>3
</div>
div中有三个input元素,并且都被选中了。
console.log($('div input:checked').prop('checked'))
尽管三个input元素都被选中了,但是上面只输出一个true,并不是三个。如下所示
这是为什么呢?是不是$('div input:checked')
中只有一个选中的元素呢?我带着这个疑惑,做了检验。代码如下:
console.log($('div input:checked').each(function(){
console.log(this.checked)
}))
发现仍输出三个true。
所以,$('div input:checked')
仍选中了checked属性为true的三个input元素。
那为什么$('div input:checked').prop('checked')
只输出一个true呢?
原因是:当该方法用于返回元素属性的值时,只返回第一个匹配元素的值。
并且,当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。