HTML 属性的值读写始终被转换成字符串(string)或 null,而 DOM 属性则可以是任何 JavaScript 数据类型,例如字符串、数字、布尔值或对象等。
大小写敏感区别
HTML attribute 大小写不敏感,DOM property 大小写敏感
相同属性返回值可能不同
HTML attribute 对于 href, 返回 html 设置的值,DOM property 对于 href 返回解析后的完整 url
DOM 属性具有写保护
比如设置 type为非标准值时,property 始终为标准值
var inputDom = document.querySelector('#inputId')
console.log(inputDom.getAttribute('type'))// text
console.log(inputDom.type)// text
inputDom.setAttribute('type','007')
console.log(inputDom.getAttribute('type'))// 007
console.log(inputDom.type)// text
inputDom.type ='008'
console.log(inputDom.getAttribute('type'))// 008
console.log(inputDom.type)// text