checkbox属性checked="checked"已有,但却不显示打勾的解决办法
2014-10-27 13:40
363 查看
主要原因是:jquery版本问题。
[b]1、attr():[/b]
获取匹配的元素集合中的第一个元素的属性的值 或 设置每一个匹配元素的一个或多个属性。
在jQuery 1.6中,当属性没有被设置时候,.attr()方法将返回undefined。若要检索和更改DOM属性,比如元素的checked, selected, 或 disabled状态,请使用.prop()方法。
2、removeAttr():
从每一个匹配的元素中删除一个属性
1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的。解决的方法就是使用$("XX").prop("disabled",false);
1.7版本在IE6下已支持删除disabled。
[b]3、prop():[/b]
获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误。
[b]4、举例说明:[/b]
HTML:
js:
以上js代码中的设置多选框的checked属性,在jquery1.6及以下版本时,设置用attr();但在比较高版本下,就只有用prop()来进行设置,如果按attr来设置,会出现
在第一次点击全选按钮,所有checkbox被选中之后,取消全选,又全选时,就会看到checked属性在改变,但是复选框中的钩不显示,因为在低版本中,若元素本身没有设置相应的属性,.attr()会返回undfined。
[b]1、attr():[/b]
获取匹配的元素集合中的第一个元素的属性的值 或 设置每一个匹配元素的一个或多个属性。
在jQuery 1.6中,当属性没有被设置时候,.attr()方法将返回undefined。若要检索和更改DOM属性,比如元素的checked, selected, 或 disabled状态,请使用.prop()方法。
2、removeAttr():
从每一个匹配的元素中删除一个属性
1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的。解决的方法就是使用$("XX").prop("disabled",false);
1.7版本在IE6下已支持删除disabled。
[b]3、prop():[/b]
获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误。
[b]4、举例说明:[/b]
HTML:
<table class="table table-striped table-hover auth-table" id="auth-table"> <tbody> <tr> <td> <input type="checkbox" name="user"> <img src="../../asset/img/userHead.png" class="user-head"> <span>艾祖青1</span> </td> <td> <span class="user-email">zuqing.ai@changhong.com</span> </td> </tr> <tr> <td> <input type="checkbox" name="user"> <img src="../../asset/img/userHead.png" class="user-head"> <span>艾祖青1</span> </td> <td> <span class="user-email">zuqing.ai@changhong.com</span> </td> </tr> </tbody> </table>
js:
//人员的全选和反选; function wholeChecked(){ $("table#auth-table input[type='checkbox']").prop("checked","checked"); } function wholeCheckedCancel() { $("table#auth-table input[type='checkbox']").removeAttr("checked"); }
以上js代码中的设置多选框的checked属性,在jquery1.6及以下版本时,设置用attr();但在比较高版本下,就只有用prop()来进行设置,如果按attr来设置,会出现
在第一次点击全选按钮,所有checkbox被选中之后,取消全选,又全选时,就会看到checked属性在改变,但是复选框中的钩不显示,因为在低版本中,若元素本身没有设置相应的属性,.attr()会返回undfined。
相关文章推荐
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有但不显示打勾的解决办法
- 复选框已有属性checked="checked",却不显示勾的解决办法
- checkbox属性checked='checked'已有,但却不显示打勾的解决办法
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- checkbox属性checked="checked"通过js已设置,但是不勾选,解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- jquery-1.9.1中checkbox属性checked="checked"已存在,但却不显示选中效果