教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

dom節(jié)點(diǎn)的Attribute和Property有何區(qū)別?

更新時(shí)間:2021年04月27日16時(shí)25分 來源:傳智教育 瀏覽次數(shù):

1、什么是Property?

每個(gè)DOM節(jié)點(diǎn)都是-個(gè)object對象,它可以像其他的js Object一樣具有自己的property和method,所以property的值可以是任何數(shù)據(jù)類型,大小寫敏感,原則上property應(yīng)該僅供js 操作,不會(huì)出現(xiàn)在html中(默認(rèn)屬性除外:id/src/href/className/di/itle/lang等),和其他js object一樣,自定義的property也會(huì)出現(xiàn)在object的for···in遍歷中。


2、什么是Attribute?

attribute出現(xiàn)在dom中,js 提供了getAttribute/setAttribute 等方法來獲取和改變它的值,attribute 的值只能是字符串且大小寫不敏感,最后作用于html中,可以影響innerHTML獲取的值。可以通過訪問dom節(jié)點(diǎn)的attributes屬性來獲取改節(jié)點(diǎn)的所有的attribute。(在 IE<9,中attribute獲取和改變的實(shí)際上是property。)

兩者之間的區(qū)別是:

·自定義的Property與Attribute不同步,不相等

·非自定義的DOM property與attributes 是有條件同步的

·非自定義的屬性(id/src/href/name/value等),通過setAttribute修改其特性值可以同步作用到property.上, 而通過property修改屬性值有的(value)時(shí)候不會(huì)同步到attribute 上,即不會(huì)反應(yīng)到html上(除以下幾種情況,非自定義屬性在二者之間是同步的)。



猜你喜歡:

Bootstrap是什么?有什么用處?

aside標(biāo)簽有什么用?

article標(biāo)簽是什么元素?有什么作用?

什么是Vue?Vue的工作原理是什么?

傳智教育HTML&JS+前端培訓(xùn)課程

0 分享到:
和我們在線交談!