国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript中attribute和property的區別詳解_基礎知識

來源:懂視網 責編:小采 時間:2020-11-27 21:23:56
文檔

javascript中attribute和property的區別詳解_基礎知識

javascript中attribute和property的區別詳解_基礎知識:DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯系緊密。很多新手朋友,也包括以前的我,經常會搞不清楚。attribute翻譯成中文術語為特性,property翻譯成中文術語為屬性,從中文的字面意思來看,確實是有
推薦度:
導讀javascript中attribute和property的區別詳解_基礎知識:DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯系緊密。很多新手朋友,也包括以前的我,經常會搞不清楚。attribute翻譯成中文術語為特性,property翻譯成中文術語為屬性,從中文的字面意思來看,確實是有

DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯系緊密。很多新手朋友,也包括以前的我,經常會搞不清楚。

attribute翻譯成中文術語為“特性”,property翻譯成中文術語為“屬性”,從中文的字面意思來看,確實是有點區別了,先來說說attribute。

attribute是一個特性節點,每個DOM元素都有一個對應的attributes屬性來存放所有的attribute節點,attributes是一個類數組的容器,說得準確點就是NameNodeMap,總之就是一個類似數組但又和數組不太一樣的容器。attributes的每個數字索引以名值對(name=”value”)的形式存放了一個attribute節點。
代碼如下:hello
上面的div元素的HTML代碼中有class、id還有自定義的gameid,這些特性都存放在attributes中,類似下面的形式:
代碼如下:[ class="box", id="box", gameid="880" ]
可以這樣來訪問attribute節點:
代碼如下:
var elem = document.getElementById( 'box' );
console.log( elem.attributes[0].name ); // class
console.log( elem.attributes[0].value ); // box

但是IE6-7將很多東西都存放在attributes中,上面的訪問方法和標準瀏覽器的返回結果又不同。通常要獲取一個attribute節點直接用getAttribute方法:
代碼如下:console.log( elem.getAttribute('gameid') ); // 880

要設置一個attribute節點使用setAttribute方法,要刪除就用removeAttribute:

代碼如下:elem.setAttribute('testAttr', 'testVal');
console.log( elem.removeAttribute('gameid') ); // undefined

attributes是會隨著添加或刪除attribute節點動態更新的。
property就是一個屬性,如果把DOM元素看成是一個普通的Object對象,那么property就是一個以名值對(name=”value”)的形式存放在Object中的屬性。要添加和刪除property也簡單多了,和普通的對象沒啥分別:
代碼如下:
elem.gameid = 880; // 添加
console.log( elem.gameid ) // 獲取
delete elem.gameid // 刪除

之所以attribute和property容易混倄在一起的原因是,很多attribute節點還有一個相對應的property屬性,比如上面的div元素的id和class既是attribute,也有對應的property,不管使用哪種方法都可以訪問和修改。

代碼如下:
console.log( elem.getAttribute('id') ); // box
console.log( elem.id ); // box
elem.id = 'hello';
console.log( elem.getAttribute('id') ); // hello

但是對于自定義的attribute節點,或者自定義property,兩者就沒有關系了。
代碼如下:
console.log( elem.getAttribute('gameid') ); // 880
console.log( elem.gameid ); // undefined
elem.areaid = '900';
console.log( elem.getAttribute('areaid') ) // null

對于IE6-7來說,沒有區分attribute和property:

代碼如下:
console.log( elem.getAttribute('gameid') ); // 880
console.log( elem.gameid ); // 880
elem.areaid = '900';
console.log( elem.getAttribute('areaid') ) // 900

很多新手朋友估計都很容易掉進這個坑中。
DOM元素一些默認常見的attribute節點都有與之對應的property屬性,比較特殊的是一些值為Boolean類型的property,如一些表單元素:

代碼如下:

var radio = document.getElementById( 'radio' );
console.log( radio.getAttribute('checked') ); // checked
console.log( radio.checked ); // true

對于這些特殊的attribute節點,只有存在該節點,對應的property的值就為true,如:
代碼如下:

var radio = document.getElementById( 'radio' );
console.log( radio.getAttribute('checked') ); // anything
console.log( radio.checked ); // true

最后為了更好的區分attribute和property,基本可以總結為attribute節點都是在HTML代碼中可見的,而property只是一個普通的名值對屬性。

代碼如下:
// gameid和id都是attribute節點
// id同時又可以通過property來訪問和修改
hello
// areaid僅僅是property
elem.areaid = 900;

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript中attribute和property的區別詳解_基礎知識

javascript中attribute和property的區別詳解_基礎知識:DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯系緊密。很多新手朋友,也包括以前的我,經常會搞不清楚。attribute翻譯成中文術語為特性,property翻譯成中文術語為屬性,從中文的字面意思來看,確實是有
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美在线视频观看 | 91香蕉国产亚洲一二三区 | 亚洲黄色高清 | 亚洲色图第四页 | 日韩欧美在线综合网 | 91久久国产综合精品女同我 | 国产伦精品一区二区三区视频小说 | 国产精品毛片久久久久久久 | 精品视频免费看 | 欧美第一区 | 亚洲欧美日韩精品久久久 | 午夜看一级特黄a大片黑 | 在线日韩理论午夜中文电影 | 免费国产一级 | 国产在线视频在线观看 | 美日韩中文字幕 | 亚欧在线观看 | 亚洲欧美综合 | 国产成人久久蜜一区二区 | 中文字幕有码在线观看 | 国产一区二区三区在线视频 | 亚洲午夜一区二区三区 | 久久国产精品成人免费 | 精品国产一区二区三区久久久狼 | 国产成人精品日本亚洲11 | 亚洲精品高清国产一久久 | 一区不卡在线观看 | 日韩精品 欧美 | 国产一区二区三区在线看 | 交换国产精品视频一区 | 北条麻妃国产九九九精品视频 | 国产成人在线看 | 一区精品在线 | 国产精品免费 | 夜色毛片永久免费 | 亚洲一区二区三区在线 | 国产99久久精品 | 亚洲日韩第一页 | 久久国产综合精品欧美 | 国产在线观看一区二区三区 | 日韩精品欧美亚洲高清有无 |