- 問題的產(chǎn)生
jQuery的.attr()和.prop()兩個方法的區(qū)別 - jQuery的解釋
官方的建議:具有 true 和 false 兩個屬性的屬性院究,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr() - 看看stackoverflow上對兩者的區(qū)別
.attr() VS .prop()
簡單概括起來就是,property是DOM對象中的爱咬,而attribute是HTML對象中的
例如疾呻,自定義的屬性,在html里,所以可以使用attrbute訪問到淌哟,但是不是DOM的API
<input abc='abc'>
$('input')[0].abc //訪問到的就是undefined,因為DOMElement沒有這個API可以訪問
$('input')[0].getAttrbute('abc') //可以訪問得到辽故,因為這是定義在html元素中的屬性
例如徒仓,元素的style屬性,兩種方法得到的返回值是不一樣的誊垢,一個是字符串掉弛,一個是style對象
<input style="font:arial;"/>
//js
var attr = $('input').attr('style')// 'font:arial;'
var prop = $('input').prop('style')// CSSStyleDeclaration
console.log(attr,prop)
-
另一個回答
Paste_Image.png MDN英文版的DOM Element property
所以,很明顯可以看出來
Element.innerHTML //這個是property