Version 1.9.0 开始不建议使用 attr() 来对具有 true 和 false 两个属性的属性进行操作。
具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 建议使用prop(),其他的使用 attr()。
示例代码:
<input id="chk1" type="checkbox" />
<input id="chk2" type="checkbox" checked="checked" /> $("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true $("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"
Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes,which could cause inconsistent behavior.
To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method.
以上。