checkbox的:checked与[checked]选择器的区别

<input type="checkbox" />

这个控件,有时候很诡异。选择器:checked与[checked]经常不同步,也就是说只有一个有效,另一个无效。

经过研究发现,:checked选择器选择的是控件自身的checked内存变量值,而[checked]选择的是input标签的checked属性。即jquery中的attr()和prop()的区别。

在angularJS中,ng-checked是通过attr来实现功能的,因此只能用[checked];而如果你把<input type="checkbox" />放在<label></label>内部,那么点击时attr就不会发生变化,但prop会发生变化,所以就得用:checked。关键是二者并不同步,所以没法通用!

 

posted on 2017-05-19 16:43  东篱南山  阅读(570)  评论(0编辑  收藏  举报

导航