亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

javascript中setAttribute()函數使用方法及兼容性

2024-05-06 16:23:28
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了javascript中setAttribute()函數使用方法及兼容性的相關資料,需要的朋友可以參考下

setAttribute()函數可以設置對象的屬性,如果不存在此屬性,則會創建此屬性。

語法結構:

el.setAttribute(name,value)

參數列表:

參數描述

name必需。規定要設置的屬性名。

value必需。規定要設置的屬性值。

代碼實例:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset=" utf-8">  
  5. <script type="text/javascript">  
  6. window.onload=function(){  
  7. var mydiv=document.getElementById("mydiv");  
  8. mydiv.setAttribute("id","newid");  
  9. alert(mydiv.getAttribute("id"));  
  10. }  
  11. </script>  
  12. </head>  
  13. <body>  
  14. <div id="mydiv"></div>  
  15. </body>  
  16. </html> 

以上代碼可以重新設置div的id屬性值,并且彈出新設置的id屬性值。

實例二:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset=" utf-8"
  5. <script type="text/javascript">  
  6. window.onload=function(){  
  7. var mydiv=document.getElementById("mydiv");  
  8. mydiv.setAttribute("newAttr","attrValue");  
  9. alert(mydiv.getAttribute("newAttr"));  
  10. }  
  11. </script>  
  12. </head>  
  13. <body>  
  14. <div id="mydiv"></div>  
  15. </body>  
  16. </html> 

以上代碼可以設置div的newAttr屬性值,并且彈出此屬性值。這里需要特別注意的是,因為div默認并不具有newAttr屬性,這個時候setAttribute()函數會首先創建此屬性,然后再給它賦值。

以上兩個代碼實例在各主流瀏覽器中都能夠成功的執行,但這并不說明setAttribute()函數能夠兼容各個瀏覽器。

再看一段代碼實例:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset=" utf-8"
  5. <style type="text/css">  
  6. .textcolor{  
  7. font-size:18px;  
  8. color:red;  
  9. }  
  10. </style>  
  11. <script type="text/javascript">  
  12. window.onload=function(){  
  13. var mydiv=document.getElementById("mydiv");  
  14. mydiv.setAttribute("class","textcolor");  
  15. }  
  16. </script>  
  17. </head>  
  18. <body>  
  19. <div id="mydiv"></div>  
  20. </body>  
  21. </html> 

以上代碼,在標準瀏覽器中能夠將字體大小設置為18px,字體顏色設置為紅色,但是在IE6和IE7瀏覽器中卻不能夠生效。

不過依然可以使用mydiv.getAttribute("class")獲取屬性值"textcolor"。

也就是說在IE6或者IE7瀏覽器中,setAttribute()函數可以使用,但是并不是對所有的屬性都有效。

下面就列舉一下存在上述問題的屬性:

1.class

2.for

3.cellspacing

4.cellpadding

5.tabindex

6.readonly

7.maxlength

8.rowspan

9.colspan

10.usemap

11.frameborder

12.contenteditable

13.style

為了解決上述問題就要寫一個通用的跨瀏覽器的設置元素屬性的接口方法:

 

 
  1. dom=(function(){ 
  2. var fixAttr={ 
  3. tabindex:'tabIndex'
  4. readonly:'readOnly'
  5. 'for':'htmlFor'
  6. 'class':'className'
  7. maxlength:'maxLength'
  8. cellspacing:'cellSpacing'
  9. cellpadding:'cellPadding'
  10. rowspan:'rowSpan'
  11. colspan:'colSpan'
  12. usemap:'useMap'
  13. frameborder:'frameBorder'
  14. contenteditable:'contentEditable' 
  15. }, 
  16.  
  17. div=document.createElement('div'); 
  18. div.setAttribute('class','t'); 
  19.  
  20. var supportSetAttr = div.className === 't'
  21.  
  22. return { 
  23. setAttr:function(el, name, val){ 
  24. el.setAttribute(supportSetAttr ? name : (fixAttr[name] || name), val); 
  25. }, 
  26. getAttr:function(el, name){ 
  27. return el.getAttribute(supportSetAttr ? name : (fixAttr[name] || name)); 
  28. })(); 

首先,標準瀏覽器直接使用原始屬性名;其次,IE6/7非以上列舉的屬性仍然用原始屬性名;最后這些特殊屬性使用fixAttr,例如class。

那么上面的代碼實例修改為以下形式即可:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset=" utf-8">  
  5. <style type="text/css">  
  6. .textcolor{  
  7. font-size:18px;  
  8. color:red;  
  9. }  
  10. </style>  
  11. <script type="text/javascript">  
  12. dom=(function(){  
  13. var fixAttr={  
  14. tabindex:'tabIndex',  
  15. readonly:'readOnly',  
  16. 'for':'htmlFor',  
  17. 'class':'className',  
  18. maxlength:'maxLength',  
  19. cellspacing:'cellSpacing',  
  20. cellpadding:'cellPadding',  
  21. rowspan:'rowSpan',  
  22. colspan:'colSpan',  
  23. usemap:'useMap',  
  24. frameborder:'frameBorder',  
  25. contenteditable:'contentEditable' 
  26. },  
  27.  
  28. div=document.createElement('div');  
  29. div.setAttribute('class','t');  
  30.  
  31. var supportSetAttr = div.className === 't';  
  32.  
  33. return {  
  34. setAttr:function(el, name, val){  
  35. el.setAttribute(supportSetAttr ? name : (fixAttr[name] || name), val);  
  36. },  
  37. getAttr:function(el, name){  
  38. return el.getAttribute(supportSetAttr ? name : (fixAttr[name] || name));  
  39. }  
  40. }  
  41. })();  
  42. window.onload=function(){  
  43. var mydiv=document.getElementById("mydiv");  
  44. dom.setAttr(mydiv, 'class''textcolor');  
  45. }  
  46. </script>  
  47. </head>  
  48. <body>  
  49. </body>  
  50. </html> 

以上代碼可以在各主流瀏覽器中都有效,都可以將字體大小設置為18px,顏色設置為紅色。

至于style屬性可以使用el.style.color="xxx"這種形式進行兼容。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品一二区| 欧美在线观看网址综合| 欧美专区在线播放| 午夜精品久久久久久久久久久久久| 欧美成人精品xxx| 日韩免费观看高清| 在线播放日韩专区| 91沈先生作品| 成人av番号网| 2020国产精品视频| 亚洲成色777777在线观看影院| 欧美成人黄色小视频| 91av免费观看91av精品在线| 欧美另类高清videos| 91在线国产电影| 久久精品亚洲94久久精品| 午夜精品一区二区三区视频免费看| 成人h猎奇视频网站| 77777少妇光屁股久久一区| 成人妇女免费播放久久久| 伊人精品在线观看| 国产精品久久久久99| 久久精品国产69国产精品亚洲| 一个人看的www欧美| 欧美高清在线视频观看不卡| 91精品视频在线播放| 欧美高清一级大片| 亚洲一品av免费观看| 国产在线视频2019最新视频| 国产精品视频26uuu| 欧美日韩aaaa| 国产日韩换脸av一区在线观看| 亚洲成人动漫在线播放| 国内成人精品一区| 国产精品pans私拍| 在线看国产精品| 久久久久亚洲精品成人网小说| 奇米影视亚洲狠狠色| 18一19gay欧美视频网站| 国产va免费精品高清在线| 成人做爰www免费看视频网站| 久久精品这里热有精品| 亚洲图片欧美日产| 亚洲欧美日韩直播| 精品一区二区亚洲| 日韩女优人人人人射在线视频| 91在线中文字幕| 欧美一区二区三区……| 亚洲香蕉成人av网站在线观看| 欧美成人高清视频| 亚洲电影免费在线观看| 欧美性开放视频| 欧美激情亚洲综合一区| 91精品久久久久久久久久入口| 国产偷亚洲偷欧美偷精品| 亚洲一区二区久久| 欧美有码在线观看| 91国产精品视频在线| 成人午夜一级二级三级| 欧美日韩国产区| 亚洲二区在线播放视频| 中文字幕日韩高清| 日韩在线中文字幕| 国产精品444| 一二美女精品欧洲| 日产精品久久久一区二区福利| 欧美视频在线看| 亚洲欧美制服另类日韩| 亚洲欧美日韩另类| 午夜精品一区二区三区在线视频| 国产亚洲成av人片在线观看桃| 欧美中文字幕视频在线观看| 亚洲的天堂在线中文字幕| 91tv亚洲精品香蕉国产一区7ujn| 亚洲成人免费网站| 日韩美女写真福利在线观看| 亚洲国产精彩中文乱码av在线播放| 国产精品一区二区三区免费视频| 亚洲精品98久久久久久中文字幕| 成人xxxx视频| 欧美激情第99页| 中文字幕日韩专区| 亚洲欧洲日产国产网站| 中文字幕少妇一区二区三区| 亚洲欧美国产一本综合首页| xx视频.9999.com| 国产成人啪精品视频免费网| 欧美激情视频网站| 精品久久久久久久中文字幕| 久久久久久久久久久av| 精品国产31久久久久久| 日韩一级裸体免费视频| 欧美国产精品人人做人人爱| 国产精品国模在线| 日韩av片电影专区| 538国产精品一区二区免费视频| 久久福利视频导航| 中文字幕av一区二区| 热99久久精品| 日韩在线视频观看正片免费网站| 国产亚洲欧美日韩一区二区| 欧美老女人bb| 亚洲日本成人女熟在线观看| 久久精品99国产精品酒店日本| 日韩有码在线电影| 久久韩国免费视频| 欧美日韩第一视频| 91久久精品国产91性色| 国产精品美女无圣光视频| 成人福利在线视频| 久久视频国产精品免费视频在线| 欧美尤物巨大精品爽| 色偷偷噜噜噜亚洲男人的天堂| 亚洲精品白浆高清久久久久久| 在线不卡国产精品| 久久久久亚洲精品国产| 欧美老女人bb| 精品久久久一区二区| 美女精品视频一区| 久久人人爽国产| 日韩中文第一页| 国产精品亚洲综合天堂夜夜| 51色欧美片视频在线观看| 88xx成人精品| 亚洲天堂av在线播放| 欧美人在线观看| 91精品啪aⅴ在线观看国产| 亚洲综合色av| 欧美大秀在线观看| 久久久久久久久久久网站| 国产精选久久久久久| 日韩在线欧美在线| 中文字幕日韩专区| 亚洲欧洲国产精品| 国产精品mp4| 日韩有码在线观看| 2019国产精品自在线拍国产不卡| 成人免费看吃奶视频网站| 欧美大片va欧美在线播放| 国内精品一区二区三区四区| 久久人人爽人人爽人人片av高清| 久久精品视频播放| 亚洲精品自在久久| 97在线视频免费播放| 国产成人综合精品在线| 欧美成aaa人片免费看| 精品欧美激情精品一区| 亚洲人成啪啪网站| 国产美女扒开尿口久久久| 国产精品视频区| 欧美成人免费一级人片100| 国产精品男人的天堂| 日韩在线观看网站| 欧美性xxxxxxxxx| 国产区精品视频| 久久久久久999| 欧美日韩福利视频| 久久国产精品久久久久| 中文字幕精品视频| 亚洲成人1234| 久久99精品视频一区97| 国产97在线视频| 在线激情影院一区| 91国内揄拍国内精品对白|