咱们在使用input标签,多选框时,一般会看到两种状态,即选中(checked)和被选中(unchecked)。javascript
// 选中状态也可写成checked="checked" checked:<input type="checkbox" checked> // 未选中状态不写便可 unchecked:<input type="checkbox" unchecked>
可是对于checkbox还有一种模糊状态,这种状态在哪里会看到呢,若是你用过QQ邮箱的话,相信你会看到,但有可能会忽略这个细节,如QQ邮箱中效果:html
那么这种效果是怎么实现的呢。indeterminate既为checkbox中的一个属性必然能够被js控制,因此能够用js来控制现有状态。java
<input id="check" type="checkbox"> <script> var Check = document.getElementById('check'); Check.indeterminate = true; </script>
出现的效果同QQ邮箱中效果同样,如下为不一样浏览器中indeterminate状态显示状况:chrome
IE(10):浏览器
firefox:spa
chrome:firefox
值得注意的是,虽然indeterminate贵为checkbox的属性,但在html中单独使用并不会出现效果。而且indeterminate只会对checkbox的样子发生改变,也就是说与真正的取值并没有关系。htm