本人使用的是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() | √ | |
浙公網安備 33010602011771號