attr('checked', true)设置状态只有第一次有用,再次点击就无效果。类似的属性还有selected 和 disabled。当遇到这种情况的时候,把attr换成prop方法,prop和attr一样使用,以下有例子;
全选的小例子:
$(function(){ $("#j_cbAll").click(function(){ $("#j_tb input").prop("checked",$(this).prop("checked")) //根据全选按钮的状态,设置下属按钮的状态。 }) $("#j_tb input").click(function(){ //当点击下属产品时,全选按钮发生改变,此处用下属产品input的长度来判断是否为选中状态 var inputLen=$("#j_tb input").length; var inputCheckLen=$("#j_tb input:checked").length; if(inputLen==inputCheckLen){ $("#j_cbAll").prop("checked",true) }else{ $("#j_cbAll").prop("checked",false) } }) })
本文介绍了在使用jQuery时,如何正确区分和使用prop与attr方法。特别是在处理复选框、单选按钮等元素的checked、selected及disabled状态时,使用prop方法能更准确地反映DOM元素的实际状态。
165

被折叠的 条评论
为什么被折叠?



