Jquery版本问题导致的相关问题
Jquery版本问题导致的相关问题
问题⼀ toggle()事件切换
toggle功能在1.9版本之后发⽣变化了。不再⽀持多个事件轮流切换
问题⼆ checkbox属性checked = “checked”已有,但却不显⽰打钩
1、attr():
获取匹配的元素集合中的第⼀个元素的属性的值 或 设置每⼀个匹配元素的⼀个或多个属性。
在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。
3、prop():
获取匹配的元素集中第⼀个元素的属性(property)值或设置每⼀个匹配元素的⼀个或多个属性。
随着⼀些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产⽣错误。jQuery第⼀次分配undefined值的属性,⽽忽略了浏览器⽣成的任何错误。
解决⽅法:
//⼈员的全选和反选;
2function wholeChecked(){
3 $("table#auth-table input[type='checkbox']").prop("checked","checked");
4 }jquery的attr属性
5function wholeCheckedCancel() {
6 $("table#auth-table input[type='checkbox']").removeAttr("checked");
7 }
以上js代码中的设置多选框的checked属性,在jquery1.6及以下版本时,设置⽤attr();但在⽐较⾼版本下,就只有⽤prop()来进⾏设置,如果按attr来设置,会出现
在第⼀次点击全选按钮,所有checkbox被选中之后,取消全选,⼜全选时,就会看到checked属性在改变,但是复选框中的钩不显⽰,因为在低版本中,若元素本⾝没有设置相应的属性,.attr()会返回undfined
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论