97免费在线观看视频 I 午夜夫妻视频 I 久久久久久网站 I 天堂网男人 I 欧美大波大乳人奶 I 丝袜 中出 制服 人妻 美腿 I 窝窝午夜理论片影院 I 日韩在线伦理电影 I 韩国特级毛片 I 亚洲欧美另类激情 I 在线成人日韩 I 麻豆视频免费看 I 黄色生活毛片 I 极品一线天小嫩嫩真紧 I 色久天堂 I 久久久久久黄色片 I 林智妍三级露全乳电影视频 I 大肉大捧一进一出好爽视频 I 空乘伦理hd I 少妇口述与子做过爱 I 成人免费影片 I 国产精品国内免费一区二区三区 I 日韩制服一区 I 青青草福利在线 I 日本在线观看不卡视频 I 婷婷六月综合亚洲 I 国产又粗又黄又硬 I 美女扒开屁股让男子桶爽 I 欧美性午夜视频观看 I 欧美狠狠插 I 亚洲福利在线观看视频 I 无码抽搐高潮喷水流白浆 I 亚洲欧美国产日韩色伦 I 你懂的视频网站在线观看 I www.蜜桃视频在线观看 I 日本无码人妻精品一区二区蜜桃 I 久久中文字幕人妻丝袜 I 碰草在线视频 I 日韩精品成人av网站

JS中attribute和property的區(qū)別

2020/11/13 11:53:02   閱讀:3017    發(fā)布者:3017


property 和 attribute非常容易混淆,兩個(gè)單詞的中文翻譯也都非常相近(property:屬性,attribute:特性),但實(shí)際上,二者是不同的東西,屬于不同的范疇。


property是DOM中的屬性,是JavaScript里的對(duì)象;

attribute是HTML標(biāo)簽上的特性,它的值只能夠是字符串;


簡(jiǎn)單理解,Attribute就是dom節(jié)點(diǎn)自帶的屬性,例如html中常用的id、class、title、align等。

而Property是這個(gè)DOM元素作為對(duì)象,其附加的內(nèi)容,例如childNodes、firstChild等。

這是由于,每一個(gè)DOM對(duì)象都會(huì)有它默認(rèn)的基本屬性,而在創(chuàng)建的時(shí)候,它只會(huì)創(chuàng)建這些基本屬性,我們?cè)赥AG標(biāo)簽中自定義的屬性是不會(huì)直接放到DOM中的。

那自定義的”title1“去哪里了呢? title1”被放在了attributes這個(gè)對(duì)象里,這個(gè)對(duì)象按順序記錄了我們?cè)赥AG中定義的屬性和屬性的數(shù)量。

從這里就可以看出,attributes是屬于property的一個(gè)子集,它保存了HTML標(biāo)簽上定義屬性。


如果再進(jìn)一步探索attitudes中的每一個(gè)屬性,會(huì)發(fā)現(xiàn)它們并不是簡(jiǎn)單的對(duì)象,它是一個(gè)Attr類型的對(duì)象,擁有NodeType、NodeName等屬性。關(guān)于這一點(diǎn),稍后再研究。注意,打印attribute屬性不會(huì)直接得到對(duì)象的值,而是獲取一個(gè)包含屬性名和值的字符串

HTML標(biāo)簽中定義的屬性和值會(huì)保存該DOM對(duì)象的attributes屬性里面;

這些attribute屬性的JavaScript中的類型是Attr,而不僅僅是保存屬性名和值這么簡(jiǎn)單;


常用的Attribute,例如id、class、title等,已經(jīng)被作為Property附加到DOM對(duì)象上,可以和Property一樣取值和賦值。但是自定義的Attribute,就不會(huì)有這樣的特殊優(yōu)待,例如:

<div id="div1" class="divClass" title="divTitle" title1="divTitle1">100</div>
這個(gè)div里面的“title1”就不會(huì)變成Property。

即,只要是DOM標(biāo)簽中出現(xiàn)的屬性(html代碼),都是Attribute。然后有些常用特性(id、class、title等),會(huì)被轉(zhuǎn)化為Property。可以很形象的說,這些特性/屬性,是“腳踏兩只船”的。


最后注意:“class”變成Property之后叫做“className”,因?yàn)椤癱lass”是ECMA的關(guān)鍵字。

DOM有其默認(rèn)的基本屬性,而這些屬性就是所謂的“property”,無論如何,它們都會(huì)在初始化的時(shí)候再DOM對(duì)象上創(chuàng)建。
如果在TAG對(duì)這些屬性進(jìn)行賦值,那么這些值就會(huì)作為初始值賦給DOM的同名property。

attribute取值

getAttribute()可以取得任何特性,不管是標(biāo)準(zhǔn)的還是自定義的。

但是這個(gè)方法的瀏覽器兼容性有問題,有些瀏覽器可能會(huì)獲取屬性Property的值。


attribute賦值


用setAttrbute()賦值,任何Attribute都可以,包括自定義的。而且,賦值的Attribute會(huì)立刻表現(xiàn)到DOM元素上。

property取值


屬性取值很簡(jiǎn)單。取任何屬性的只,用“.”就可以

Property賦值

對(duì)屬性Property可以賦任何類型的值,而對(duì)特性Attribute只能賦值字符串!

另外,對(duì)于屬性Property的賦值在IE中可能會(huì)引起循環(huán)引用,內(nèi)存泄漏。為了防止這個(gè)問題,jQuery.data()做了特殊處理,解耦了數(shù)據(jù)和DOM對(duì)象。

in1.value='new value of prop';

console.log(in1.value);               // 'new value of prop'
console.log(in1.attributes.value);         // 'value="1"'
此時(shí),頁(yè)面中的輸入欄的值變成了“new value of prop”,而propety中的value也變成了新的值,但attributes卻仍然是“1”。從這里可以推斷,property和attribute的同名屬性的值并不是雙向綁定的。
 in2.setAttribute('value','ni')
    console.log(in2.value);          //ni
    console.log(in2.attributes.value); //value='ni'

由此,可得出結(jié)論:

property能夠從attribute中得到同步;
attribute不會(huì)同步property上的值;
attribute和property之間的數(shù)據(jù)綁定是單向的,attribute->property;
更改property和attribute上的任意值,都會(huì)將更新反映到HTML頁(yè)面中;
主站蜘蛛池模板: 欧美日韩精品在线观看 | 性欧美丰满熟妇xxxx性 | 国产麻豆剧传媒精品国产av | 国产精品户露av在线户外直播 | 青青草激情 | 色黄大色黄女片免费中国 | 欧美黄色性生活视频 | 国产精品多p对白交换绿帽 99久久99久久精品 | 中文字幕涩涩久久乱小说 | 四库影院永久四虎精品国产 | av动漫无码不卡在线观看 | 国产老妇伦国产熟女老妇高清 | 狠狠色噜噜狠狠狠8888在 | 亚洲 欧美 日本 国产 高清 | 亚洲男人 | 东北女人毛多水多牲交视频 | 精品一区二区三区日韩 | 粉嫩av国产一区二区三区 | 欧美理伦在线观看 | 成年人午夜免费视频 | 91av视频免费观看 | 成人精品福利 | aa级黄色片 | 国产视频首页 | 国产成人一区二区三区小说 | 麻豆精品导航 | 日木强大喷奶水av片 | 97精品超碰一区二区三区 | 亚洲色大成网站www 97在线免费公开视频 | 久久午夜无码鲁丝片午夜精品 | 78色淫网站女女免费 | 8x8ⅹ在线永久免费入口 | 精品无码人妻一区二区三区不卡 | 亚洲美女久久 | 亚洲欧美成人片在线观看 | 综合成人亚洲偷自拍色 | 99热精品6 | 免费国产又色又爽又黄的软件 | 顶级欧美做受xxx000久久久 | 亚洲激情三区 | 欧美日韩中文字幕视频不卡一二区 | 国产黑色丝袜高跟在线视频 | 亚洲一级色 | 四川少妇xxx奶大xxx | 亚洲中文字幕人成乱码 | 日韩专区第一页 | 国内精品久久久久久久97牛牛 | 天天澡天天摸天天添视频 | 日本又黄又爽gif动态图 | 亚洲最大av无码网站最新 | 国产国拍亚洲精品av | 欧美激情视频在线 | 91精品国产自产精品男人的天堂 | 一级特黄aa大片 | 97青青草 | 色综合久久中文 | 亚洲人人玩人人添人人 | 四虎国产精品永久免费观看视频 | 男女日视频 | 亚洲精品久久久久久一区二区 | 国产乱码精品一区二三区蜜臂 | 久久久爽爽爽美女图片 | 国产极品自拍 | 五月激情日韩欧美啪啪婷婷 | 欧美国产三级 | 国产精品久久久久999 | 337p人体 欧洲人体 亚洲 | 日韩成人欧美 | 免费a视频在线观看 | 国产亚洲一本大道中文在线 | 思热99re视热频这里只精品 | 天天干天天操天天干天天操 | 米奇7777狠狠狠狠视频影院 | 欧美国产综合色视频 | 亚洲一区二区三区在线观看网站 | 人人爽人人添 | 成人做爰高潮尖叫声免费观看 | 在线看片免费人成视频大全 | 高清国产mv视频在线观看 | 欧美三级在线观看视频 | 色图插插插 | 97超碰香蕉 | 亚洲二区一区 | 免费人成在线观看网站品善网 | 98色精品视频在线 | 无码国产成人午夜电影观看 | 九九99亚洲精品久久久久 | 欧洲大属黑吊粗大 | 就要日就要操 | 亚洲人成无码网www 国产欧美日韩亚洲一区二区三区 | 色狠狠干 | av亚洲产国偷v产偷v自拍软件 | 亚洲人妻av伦理 | 欧美99久久精品乱码影视 | 中文字幕国产在线观看 | 夜夜穞天天穞狠狠穞 | 国产不卡精品视频男人的天堂 | 成人午夜av国产传媒 | 人人澡人人澡人人看添 |