淺談JS讀取DOM對象(標(biāo)簽)的自定義屬性
DOM對象對于js來說,是個很基礎(chǔ)的元素,我們寫js一般來說,都一定會對它進行操作。我們可以很方便地給它加上自定義的屬性,比如:
<div id="test" class="hello"></div>
var test = document.getElementById("test");
test.adang = "adang";
alert(test.adang);
我們會發(fā)現(xiàn),已經(jīng)給這個id為test的DOM元素添加了一個叫做adang的屬性了,然后在js中,可以調(diào)用這個屬性。我在寫js的時候經(jīng)常用到這種方法,可以很方便地對某個dom對象添加一些特殊的數(shù)據(jù),感覺DOM對象就像一個很好用的容器,可以放一堆數(shù)據(jù)進去。
進一步想到一個問題,這些屬性可以在js中添加,那么是否可以像flex一樣,在標(biāo)簽中添加呢?事實上,像id啊,src啊這樣的屬性,都是可以在 js中添加,也可以在標(biāo)簽上添加的,兩種方式j(luò)s都可以獲取數(shù)據(jù)。這里要說一點,class比較特殊,標(biāo)簽中用的是class,在js中調(diào)用卻要用 className才行。
像id啊,title,src此類html中支持的屬性,可以在標(biāo)簽中設(shè)置,然后js訪問。那么,如果是像我上面例子中的adang這樣自定義的屬性呢?DOM可以訪問嗎?做了個實驗,如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<script type="text/javascript">
window.onload=function(){
var test = document.getElementById("test");
test.adang = "adang";
alert(test.adang);
}
</script>
<body>
<div id="test"></div>
</body>
</html>
用js來擴展自定義屬性,結(jié)果很正常地輸出了我們想要的結(jié)果,IE和FF下都正常。
然后我又寫了第二段代碼,如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<script type="text/javascript">
window.onload=function(){
var test = document.getElementById("test");
alert(test.adang);
}
</script>
<body>
<div id="test" adang="adang"></div>
</body>
</html>
這次把擴展的屬性寫到了html標(biāo)簽上。IE下正常輸出adang,FF下輸出的是undefined。
但是很奇怪的,如果使用DOM提供的方法getAttribute(""),無論是在IE下,還是FF下,都可以得到我們寫在標(biāo)簽中的自定義屬性。
所以,為了兼容,我們要使用getAttribute("")來獲取自定義的標(biāo)簽屬性的值。
以上這篇淺談JS讀取DOM對象(標(biāo)簽)的自定義屬性就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- JavaScript文檔對象模型DOM
- JavaScript Dom對象的操作
- JavaScript 中的文檔對象模型 DOM
- JavaScript變量Dom對象的所有屬性
- JS實現(xiàn)訪問DOM對象指定節(jié)點的方法示例
- js基礎(chǔ)之DOM中document對象的常用屬性方法詳解
- js基礎(chǔ)之DOM中元素對象的屬性方法詳解
- JavaScript實現(xiàn)DOM對象選擇器
- JavaScript DOM 對象深入了解
- JavaScript——DOM操作——Window.document對象詳解
- jquery對象和javascript對象即DOM對象相互轉(zhuǎn)換
- js對象關(guān)系圖 方便dom操作
- javascript DOM對象的學(xué)習(xí)實例代碼
- JavaScript操作DOM對象詳解
相關(guān)文章
ant design中實現(xiàn)table的表格行的拖拽
這篇文章主要介紹了ant design中實現(xiàn)table的表格行的拖拽,文章圍繞table表格行拖拽實現(xiàn)的相關(guān)資料展開詳細(xì)的代碼內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-03-03
微信小程序?qū)崙?zhàn)之上拉(分頁加載)效果(2)
這篇文章主要介紹了微信小程序?qū)崙?zhàn)之上拉加載、分頁加載效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
JS實現(xiàn)json對象數(shù)組按對象屬性排序操作示例
這篇文章主要介紹了JS實現(xiàn)json對象數(shù)組按對象屬性排序操作,涉及javascript使用sort方法針對json數(shù)組的遍歷與排序相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下2018-05-05

