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

首頁 > 編程 > JavaScript > 正文

JS之獲取樣式的簡單實現方法(推薦)

2019-11-20 09:01:09
字體:
來源:轉載
供稿:網友

基本代碼:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <style>    div{      color:yellow;    }  </style></head><body>  <div style="width:100px;height:100px;background-color:red">This is div</div></body></html>

1.通過使用element.style屬性來獲取

<script>  var div = document.getElementsByTagName("div")[0];  console.log(div.style.color); //""  console.log(div.style.backgroundColor); //red</script>

element.style屬性只能獲取行內樣式,不能獲取<style>標簽中的樣式,也不能獲取外部樣式

由于element.style是元素的屬性,我們可以對屬性重新賦值來改寫元素的顯示。 

<script>    var div = document.getElementsByTagName("div")[0];    div.style['background-color'] = "green";    console.log(div.style.backgroundColor); //green  </script>

2.通過getComputedStyle和currentStyle來獲取樣式

getComputedStyle的使用環境是chrome/safari/firefox IE 9,10,11

<script>  var div = document.getElementsByTagName("div")[0];  var styleObj = window.getComputedStyle(div,null);  console.log(styleObj.backgroundColor); //red  console.log(styleObj.color); //yellow</script>

currentStyle在IE里能得到完美支持,chrome不支持,ff不支持

<script>    var div = document.getElementsByTagName("div")[0];    var styleObj = div.currentStyle;    console.log(styleObj.backgroundColor); //red    console.log(styleObj.color); //yellow  </script>

3.ele.style和getComputedStyle或者currentStyle的區別

3.1 ele.style是讀寫的,而getComputedStyle和currentStyle是只讀的

3.2 ele.style只能得到行內style屬性里面設置的CSS樣式,而getComputedStyle和currentStyle還能得到其他的默認值

3.3 ele.style得到的是style屬性里的樣式,不一定是最終樣式,而其他兩個得到的是元素的最終CSS樣式

4.獲取樣式兼容性寫法

<script>    //獲取非行間樣式(style標簽里的樣式或者link css文件里的樣式),obj是元素,attr是樣式名    function getStyle(obj,attr){       //針對IE       if(obj.currentStyle){         return obj.currentStyle[attr];               //由于函數傳過來的attr是字符串,所以得用[]來取值       }else{         //針對非IE         return window.getComputedStyle(obj,false)[attr];       }    }    /*       獲取或者設置css屬性        */    function css(obj,attr,value){       if(arguments.length == 2){         return getStyle(obj,attr);       }else{            obj.style[attr] = value;       }    }  </script>

 5.window.getComputedStyle(ele[,pseudoElt]);

 第二個參數如果是null或者省略,則獲取得到是ele的CSSStyleDeclaration對象

如果是一個偽類,則獲取到的是偽類的CSSStyleDeclaration對象

<style>div{  width:200px;  height:200px;  background-color:#FC9;  font-size:20px;  text-align:center;  }div:after{  content:"This is after";  display:block;  width:100px;  height:100px;  background-color:#F93;  margin:0 auto;  line-height:50px;    }</style><body>  <div id='myDiv'>    This is div  </div>   <input id='btn' type="button" value='getStyle'/>   <script>    var btn = document.querySelector('#btn');    btn.onclick = function(){      var div = document.querySelector('#myDiv');      var styleObj = window.getComputedStyle(div,'after');      console.log(styleObj['width']);    }  </script></body>

 6.getPropertyValue獲取CSSStyleDeclaration對象中的指定屬性值

<script>    var div = document.getElementsByTagName("div")[0];    var styleObj = window.getComputedStyle(div,null);    console.log(styleObj.getPropertyValue("background-color"));</script>

getPropertyValue(propertyName);中的propertyName不能是駝峰式表示

obj.currentStyle['margin-left'] 有效

obj.currentStyle['marginLeft']  有效   

window.getComputedStyle(obj,null)['margin-left']  有效

window.getComputedStyle(obj,null)['marginLeft']  有效

window.getComputedStyle(obj,null).getPropertyValue('margin-left')  有效

window.getComputedStyle(obj,null).getPropertyValue('marginLeft')   無效

obj.currentStyle.width   有效

obj.currentStyle.background-color 無效

obj.currentStyle.backgroundColor  有效

window.getComputedStyle(obj,null).width  有效

window.getComputedStyle(obj,null).background-color  無效

window.getComputedStyle(obj,null).backgroundColor 有效

綜上,就是帶有"-"的屬性不能直接點出來,所以有getPropertyValue方法來處理,但是可以用[]來取代getPropertyValue

7.defaultView

在許多在線的演示代碼中, getComputedStyle 是通過 document.defaultView 對象來調用的。 大部分情況下,這是不需要的, 因為可以直接通過window對象調用。但有一種情況,你必需要使用 defaultView,  那是在firefox3.6上訪問子框架內的樣式 (iframe)

以上這篇JS之獲取樣式的簡單實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情黄色网| 亚洲精品一区二区三区不| 国产99在线|中文| 日韩精品久久久久久福利| 日韩福利在线播放| 日韩电影中文字幕av| 亚洲区bt下载| 欧美性猛交xxxx乱大交蜜桃| 97视频在线观看网址| 不卡av电影院| 播播国产欧美激情| 国产中文字幕亚洲| 欧美理论电影在线观看| 亚洲精品99久久久久| xxav国产精品美女主播| 91地址最新发布| 欧美性高潮床叫视频| 性夜试看影院91社区| 亚洲天堂色网站| 午夜精品一区二区三区在线视频| 在线视频欧美日韩| 国产精品影院在线观看| 久久精品99久久久香蕉| 国产精自产拍久久久久久| 精品视频在线播放免| 久久精品国产久精国产思思| 自拍偷拍亚洲区| 久久在线免费观看视频| 成人女保姆的销魂服务| 国产精品久久久久秋霞鲁丝| 亚洲欧美一区二区三区久久| 欧美性猛交xxxxx水多| 欧美成aaa人片在线观看蜜臀| 亚洲色图第三页| 伊人精品在线观看| 91精品国产一区| 亚洲一区免费网站| 午夜剧场成人观在线视频免费观看| 亚洲国产精品电影| 91在线视频免费| 亚洲社区在线观看| 久久精品国产清自在天天线| 91国产视频在线播放| 午夜精品一区二区三区在线视频| 欧美一区二区三区艳史| 欧美一区二区视频97| 日韩av色在线| 国产亚洲激情在线| 久久免费精品日本久久中文字幕| 国产精品96久久久久久| 国产v综合ⅴ日韩v欧美大片| 国产精品igao视频| 91亚洲永久免费精品| 亚洲高清久久久久久| 亚洲天堂男人天堂| 欧美日韩第一页| 国产精品免费久久久久久| 国产99久久精品一区二区 夜夜躁日日躁| 91精品久久久久久久久久久久久| 久久夜色精品国产| 国产精品白嫩初高中害羞小美女| 日韩av电影手机在线观看| 国产精品盗摄久久久| 日韩av在线网页| 久久久久亚洲精品| 日韩精品中文字| 91久久久久久久久| 欧美一级电影在线| 亚洲人免费视频| 久久精品国产一区| 欧美亚洲成人xxx| 欧美亚洲另类激情另类| 亚洲天堂av综合网| 懂色av中文一区二区三区天美| 欧美极度另类性三渗透| 成人亲热视频网站| 久久久久久国产精品| 美女av一区二区| 91理论片午午论夜理片久久| 欧美激情免费看| 久久久之久亚州精品露出| 国产精品十八以下禁看| 亚洲国产精久久久久久久| 蜜臀久久99精品久久久久久宅男| 亚洲欧洲日产国码av系列天堂| 欧美大片va欧美在线播放| 日韩电影大全免费观看2023年上| 日韩专区在线观看| 欧美大片在线看| 久久av在线看| 欧美国产日产韩国视频| 亚洲欧美中文在线视频| 国产成人黄色av| 欧洲精品在线视频| 久久久久久噜噜噜久久久精品| 午夜精品一区二区三区在线播放| 亚洲电影免费观看高清完整版在线| 欧美多人乱p欧美4p久久| 国产视频精品一区二区三区| 日韩一区av在线| 成人激情免费在线| 日韩av在线影院| 亚洲综合在线播放| 国产精品日韩在线观看| 亚洲石原莉奈一区二区在线观看| 日韩精品中文在线观看| 亚洲激情中文字幕| 久久夜色精品国产欧美乱| 国产精品美女视频网站| 另类色图亚洲色图| 国产成人亚洲综合| 在线播放日韩欧美| 国产成人精品久久二区二区| 一区二区福利视频| 国产精品福利在线观看网址| 欧美日韩高清在线观看| 国产精品久久视频| 国产欧美精品久久久| 欧美日韩在线第一页| 日韩av免费观影| www国产亚洲精品久久网站| 中文字幕日韩精品有码视频| 国产精品电影网站| 日韩精品免费综合视频在线播放| 国产精品夜色7777狼人| 欧美黄色小视频| 中文字幕久久亚洲| 亚洲精品xxx| 日韩国产高清污视频在线观看| 精品久久久久久中文字幕大豆网| 久久久999精品免费| 永久555www成人免费| 亚洲第一精品夜夜躁人人爽| 亚洲成人精品视频在线观看| 日韩最新在线视频| 欧美激情精品久久久久久久变态| 久久影视电视剧免费网站| 久久69精品久久久久久国产越南| 欧美大学生性色视频| 91精品久久久久久久久| 国产成人在线一区二区| 日韩av网站电影| 亚洲精品电影网| 亚洲福利在线观看| 日韩电影中文字幕| 国外成人在线播放| 国产91在线播放| 91久久在线视频| 福利视频导航一区| 亚洲国模精品私拍| 欧美一区二区.| 久青草国产97香蕉在线视频| 久久精品中文字幕一区| 亚洲福利在线观看| 成人妇女免费播放久久久| 亚洲精品国产免费| 97人洗澡人人免费公开视频碰碰碰| 国产精品成人av性教育| 亚洲免费视频一区二区| 国产91精品青草社区| 亚洲欧美另类自拍| 国产偷国产偷亚洲清高网站| 久久久久久久色| 欧美肥婆姓交大片|