对于 html 元素本身就带有的固有属性, 在处理时, 使用 prop 方法.
对于 HTML 元素我们自己自定义的 DOM 属性, 在处理时, 使用 attr 方法.
上面的描述也许有点模糊, 举几个例子就知道了.
- <a href="http://www.baidu.com" target="_self" class="btn">
- 介绍一个全栈开发交流学习圈, 欢迎加入 Q 群: 864305860
- </a>
这个例子里元素的 DOM 属性有 "href,target 和 class", 这些属性就是元素本身就带有的属性, 也是 W3C 标准里就包含有这几个属性, 或者说在 IDE 里能够智能提示出的属性, 这些就叫做固有属性. 处理这些属性时, 建议使用 prop 方法.
<a href="#" id="link1" action="delete"> 删除 </a>
这个例子里元素的 DOM 属性有 "href,id 和 action", 很明显, 前两个是固有属性, 而后面一个 "action" 属性是我们自己自定义上去的, 元素本身是没有这个属性的. 这种就是自定义的 DOM 属性. 处理这些属性时, 建议使用 attr 方法. 使用 prop 方法取值和设置属性值时, 都会返回 undefined 值.
- <input id="chk1" type="checkbox" />
- 是否可见
- <input id="chk2" type="checkbox" checked="checked" />
- 是否可见
- $("#chk1").attr("checked") == undefined
- $("#chk2").attr("checked") == "checked"
来源: http://www.qdfuns.com/article/51117/d500b9f67abe3d632e7bf1b01bf6abe1.html