js關於為DOM對象添加自定義屬性的方式和區別


DOM對象的三種在添加自定義屬性的方式

一是 通過 “.”+“屬性名”     

二是 setAttribute()(getAttribute()獲取)

三是 直接在元素標簽上加屬性  如:<div  name="" id="te"  class=""   content=""></div>

 

 

三者的區別主要是在獲取屬性值方面:

  

1.var e = document.getElementById("te");   
2.//獲取屬性   
3.//用 . 來引用,必須是內置的(IE 可以訪問自定義屬性),而且引用的時候,區分大小寫。   
4.alert(e.id);//"test"   
5.alert(e.className);//"cls"   
6.alert(e.ss);//undefined(IE下為 "ss");   
7.  
8.//用getAttribute 來引用,可以訪問自定義屬性,不區分大小寫。   
9.alert(e.getAttribute("id"));//"test"   
10.alert(e.getAttribute("ID"));//"test"   
11.//注意瀏覽器差異   
12.alert(e.getAttribute("class"));//"cls"(Firefox)   
13.alert(e.getAttribute("className"));//"cls"(IE)   
14.  
15.alert(e.getAttribute("ss"));//"ss"   
16.  
17.//設置屬性   
18./*使用 . 運算符和 setAttribute都可以。但是對於自定義屬性,使用.運算符的設置的屬性無法通過getAttribute獲取,反之亦然。*/  
19.e.setAttribute("abc2","abc2");   
20.e.abc3 = "abc3";   
21.  
22.e.title1 = "abc";   
23.alert(e.getAttribute("title1"));//null  
var e = document.getElementById("test");
//獲取屬性
//用 . 來引用,必須是內置的(IE 可以訪問自定義屬性),而且引用的時候,區分大小寫。
alert(e.id);//"test"
alert(e.className);//"cls"
alert(e.ss);//undefined(IE下為 "ss");

//用getAttribute 來引用,可以訪問自定義屬性,不區分大小寫。
alert(e.getAttribute("id"));//"test"
alert(e.getAttribute("ID"));//"test"

 

//注意瀏覽器差異
alert(e.getAttribute("class"));//"cls"(Firefox)
alert(e.getAttribute("className"));//"cls"(IE)

alert(e.getAttribute("ss"));//"ss"

 

因此  對於style,className的設置,通常是使用" . "運算符來實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM