jQuery prop vs attr
最近因為寫了一個套件必須更改 HTML 的狀態,所以一直在跟 jQuery 的 prop() 跟 attr()`之間打轉,以往都是需要用到才去查用法,一時之間還真的不清楚的差別在哪裡。
最近因為寫了一個套件必須更改 HTML 的狀態,所以一直在跟 jQuery 的 prop()
跟 attr()
之間打轉,以往都是需要用到才去查用法,一時之間還真的不清楚的差別在哪裡。
attr(attribute)
prop(property)
都代表屬性(廢話),操作的目標不同,在 jQuery 上版本分別是 1.0
與 1.6
出現的,現在的話應該也沒有人使用 1.6 以下的版本了吧。
<input type='checkbox' class='js-checkbox' checked="checked">
注意:兩者是不同步的,所以盡量不要混用,免得出現不對等的 Bug
attr 我會認為是一開始 HTML 渲染出來的狀態、prop 則是當下 DOM 的狀態
attr
HTML 上的屬性
$('.js-checkbox').attr('checked') // "checked"
prop
DOM 上的屬性
$('.js-checkbox').prop('checked') // true"