复选框组的全选、全不选点击两次后,attr()不生效、checkBox状态不改变问题

复选框组的全选、全不选点击两次后,attr不生效、checkBox状态不改变问题,最后发现attr和prop的区别
<input type="checkbox" name="chk_all" id="chk_all" />全选
<input type="checkbox" name="chk_list" id="chk_list_0" value="0" />
<input type="checkbox" name="chk_list" id="chk_list_1" value="1" />
<input type="checkbox" name="chk_list" id="chk_list_2" value="2" />
<input type="checkbox" name="chk_list" id="chk_list_3" value="4" />

点击全选/全不选框,JS中方法如下:
$("#chk_all").click(function () {
	var isCheck = $("input[name='chk_all']").is(':checked');
        //alert(isCheck);
        if (isCheck) {
        	$("input[name='chk_list']").prop("checked", true);
        }
        else {
                $("input[name='chk_list']").prop("checked", false);
        }
 });
至于使用attr()方法不可以反复改变复选框的选中情况,是因为attr()是用来改变元素的attributes属性的,而prop()是用来改变元素properties属性的,当涉及到boolean值时,attributes在页面加载的时候就被设置,并且一直保持初始值,而properties则存储着元素属性的当前值。所以,要在页面加载后动态更新的话,使用prop()方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章