Jquery 1.6+ .prop()与.attr()方法比较
2012-03-26 14:38
211 查看
今天在用JQuery的时候发现一个问题用.attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined.
解决这个文章我参考了这个帖子:
http://bugs.jquery.com/ticket/9812
为什么jquery 1.6+增加了.prop()方法,因为在有些浏览器中比如说只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked"。所以,从1.6开始,jq提供新的方法“prop”来获取这些属性。
以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
那么,什么时候使用attr,什么时候使用prop??
1.添加属性名称该属性就会生效应该使用prop.
2.是有true,false两个属性使用prop.
3.其他则使用attr
项目中jquery升级的时候大家要注意这点!
以下是官方建议attr(),prop()的使用:
$("#category_professional").click(function(){ if($("#category_professional").prop("checked")==true)//如果选中专业类,下面则可用 { $("#source4,#target4,#source5,#target5,#source6,#target6").removeAttr("readonly"); $("#source4,#target4,#source5,#target5,#source6,#target6").attr("suggesturl","GetTranslatorlist.ashx"); $("#source4,#target4").attr("class","required textInput valid");//如果选择了则第一个为必填 }else { $("#source4,#target4,#source5,#target5,#source6,#target6").attr("readonly","readonly"); $("#source4,#target4,#source5,#target5,#source6,#target6").attr("suggesturl",""); } })
解决这个文章我参考了这个帖子:
http://bugs.jquery.com/ticket/9812
为什么jquery 1.6+增加了.prop()方法,因为在有些浏览器中比如说只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked"。所以,从1.6开始,jq提供新的方法“prop”来获取这些属性。
以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
那么,什么时候使用attr,什么时候使用prop??
1.添加属性名称该属性就会生效应该使用prop.
2.是有true,false两个属性使用prop.
3.其他则使用attr
项目中jquery升级的时候大家要注意这点!
以下是官方建议attr(),prop()的使用:
Attribute/Property | .attr() | .prop() |
---|---|---|
accesskey | √ | |
align | [b]√[/b] | |
async | [b]√[/b] | [b]√[/b] |
autofocus | [b]√[/b] | [b]√[/b] |
checked | [b]√[/b] | [b]√[/b] |
class | [b]√[/b] | |
contenteditable | [b]√[/b] | |
draggable | [b]√[/b] | |
href | [b]√[/b] | |
id | [b]√[/b] | |
label | [b]√[/b] | |
location ( i.e. window.location ) | [b]√[/b] | [b]√[/b] |
multiple | [b]√[/b] | [b]√[/b] |
readOnly | [b]√[/b] | [b]√[/b] |
rel | [b]√[/b] | |
selected | √ | [b]√[/b] |
src | [b]√[/b] | |
tabindex | [b]√[/b] | |
title | [b]√[/b] | |
type | [b]√[/b] | |
width ( if needed over .width()) | [b]√[/b] |
相关文章推荐
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- Jquery 1.6+ .prop()与.attr()方法比较
- jquery 1.6以后attr对于checked不起作用,其替代方法为prop
- jQuery使用scrollTop获取div标签的滚动条已滚动高度(jQuery版本1.6+时,用prop()方法代替attr()方法)
- jquery中prop()方法和attr()方法的区别
- checkbox 是否选中 jquery 用prop方法而不是attr方法
- jquery中prop()方法和attr()方法的区别浅析
- jquery里的attr()方法和prop()方法的区别
- JQuery中attr()和prop()方法的区别
- jquery中prop()方法和attr()方法的区别
- jQuery中prop()和attr()方法的测试和总结
- jquery中prop()方法和attr()方法的区别浅析
- jquery中prop()方法和attr()方法的区别
- jquery中prop()方法和attr()方法的区别浅析