本人使用的是jquery1.6
在做一个Ajax Form的时候使用了 $.attr属性 目的是要使用到通过返回值来改变控件的属性。
在IE下市没有问题的 但是在火狐下却根本不起作用了,
后来经过查阅 发现原来在jquery1.6里面 增加了一个新的方法 prop 。
好处就是
使用prop的时候,返回值是标准属性,true/false,比如$('#checkbox').prop('disabled'),不会返回 “disabled”或者“”,只会是true/false。当然赋值的时候也是如此。如此,我们便统一了所有操作,无论是从语法上还是语义上。
但是 prop也不是到处适用的 下面给出应该在哪些地方适用attr 哪些地方适用prop的列表:
Attribute/Property | .attr() | .prop() |
---|---|---|
accesskey | √ | |
align | √ | |
async | √ | √ |
autofocus | √ | √ |
checked | √ | √ |
class | √ | |
contenteditable | √ | |
draggable | √ | |
href | √ | |
id | √ | |
label | √ | |
location ( i.e. window.location ) | √ | √ |
multiple | √ | √ |
readOnly | √ | √ |
rel | √ | |
selected | √ | √ |
src | √ | |
tabindex | √ | |
title | √ | |
type | √ | |
width ( if needed over .width() | √ | |