标签: 博文 JavaScript浏览器
内容属性(HTML属性) : attributedom
DOM 属性(Element属性) : propertycode
jQuery 中的:attr() 对应原生JS中的 setAttribute() / getAttribute;对象
jQuery 中的:prop() 对应原生JS中 DOM对象.property;ip
在更早版本的 Windows Internet Explorer 中,内容属性在 JavaScript 对象上表示为文档对象模型 (DOM) expando。element
即: HTML属性attr === DOM属性prop
从 Windows Internet Explorer 91 开始,内容属性再也不链接到 DOM expando,这提升了 Internet Explorer 和其余浏览器之间的可互操做性。文档
即IE10+中: HTML属性attr !== DOM属性prop
“内容属性-attr”在是 HTML 源中指定的属性,例如,<element attribute1="value" attribute2="value">。许多内容属性都做为 HTML 的一部分进行预约义;HTML 还支持其余用户定义的内容属性。get
“dom属性-prop”是从 JavaScript 中的对象检索的值,可经过 .
运算符得到值, 例如 document.all["myelement"].domExpando。JavaScript 还支持其余用户定义的属性。class
由于IE9+ 经过 var divExpando = div.myAttr;
的方法得到 内容属性(HTML属性)会致使 获得一个未定义的值,因此咱们约定使用代码:方法
var divExpando = div.getAttribute("myAttr"); // 获得有价值的HTML属性
var divExpando = div.myAttr; // divExpando 任然会获得有价值的定义
↩