jquery中队 checkbox 动态改变选中/不选中

Posted by 昆山吴彦祖 on 2018.08.03

动态改变checkbox 的是否被选中,需要改变他的 checked 属性。 通常我们会想到用 attr去对属性进行读取/改变。

$(this).attr("checked",true);

但是当我们操作后发现,如果在js中用attr对checkbox进行动态选中/清除选中,是有问题的,当第一次操作以后如果再次选中,是没有任何反应的。 这时候我们需要用到jquery中另一个用来操作属性的系统函数 prop 

$(this).prop("checked",true);

因为本质上默认有checked属性的多选框是会被默认选中的,但是一个多选框是否现在被选中和 attr中的checked属性并没有直接关系。 attr是初始值,prop是当前值。 所以对html标签操作某些动态属性时候,应该使用prop方法。如 checked  selected disabled 等。     因为prop是用来获取当前值的方法,所以有可以用于代替attr用来进行当前状态获取: 

$(this).prop("checked");

返回 true/false;   

 

 

jquery