国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

解析js如何獲取css樣式

2019-11-19 18:34:47
字體:
來源:轉載
供稿:網友

一、獲取內聯樣式

<div id ="myDiv" style="width:100px;height:100px;background-color:red; border:1px solid black;"></div><script>  var myDiv = document.getElementById("myDiv");  alert(myDiv.style.width);//100px  alert(myDiv.style['height']);//100px  var style=myDiv.style;  alert(style.backgroundColor);//red  myDiv.style.backgroundColor='green';//myDiv背景色變為綠色 </script>

在這種情況下,獲取和設置樣式只靠style屬性就可以,因為element.style屬性返回的是類似數組的一組樣式屬性及對應值,因此訪問具體樣式的時候可以采取兩種方式即“ele.style.屬性名稱”和“ele.style['屬性名稱']”。但是,要注意的是,針對css樣式里background-color;margin-left之類的短杠相接的屬性名稱,在使用style屬性獲取設置樣式的時候名稱要改為駝峰式,如ele.style.backgroundColor.

二、因為第一種方法,即使用style屬性只能獲取到內聯樣式。但是,實際情況是文檔在現在都基本遵循分離思想,樣式基本都是外部鏈接,所以三種樣式都要考慮到的,這時就要使用其他方法進行獲取,而在這種情況下進行樣式獲取時,不同的瀏覽器又有不同的處理方式(主要是ie和非ie),因此根據瀏覽器可以分為兩種方式:

(2.1)非ie瀏覽器中,使用document.defaultView對象的getComputedStyle(ele,null/偽類)方法,該方法接受兩個參數,第一個為要考察的元素,第二個則要根據情況,如果只是考察元素本身則為null,如果要 考察偽類,則為響應的偽類。該方法獲取到的為元素應用的最終樣式組合,同樣是類似數組的一個實例。

(2.2)在ie瀏覽器中,對getComputedStyle()方法不支持,但是針對每個標簽元素都有一個近似于style屬性的currentStyle的屬性,且用法和style用法相同。只不過獲取到的樣式范圍不一樣。currenStyle獲取到的和getComputedStyle()方法相接近。

為了在處理時達到兼容,可以根據這兩種不同的處理方式創建一個函數來達到兼容目的,使得不管在那種瀏覽器中,都可以成功獲取樣式。如下所示:

<style type="text/css">#myDiv {  background-color:blue;  width:100px;  height:200px;}</style><div id ="myDiv" style="background-color:red; border:1px solid black;"></div><script>  var myDiv = document.getElementById("myDiv");  var finalStyle = myDiv.currentStyle ? myDiv.currentStyle : document.defaultView.getComputedStyle(myDiv, null);/*利用判斷是否支持currentStyle(是否為ie)  來通過不同方法獲取style*/  alert(finalStyle.backgroundColor);  //"red"  alert(finalStyle.width);       //"100px"  alert(finalStyle.height);       //"200px"</script>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日照市| 那曲县| 大埔县| 化德县| 宣武区| 鹤庆县| 定日县| 牟定县| 汶川县| 洛浦县| 施秉县| 正蓝旗| 松溪县| 湖口县| 无棣县| 定远县| 美姑县| 浙江省| 来安县| 娱乐| 同心县| 禹州市| 龙川县| 连城县| 昭觉县| 金山区| 梧州市| 法库县| 乌恰县| 泗洪县| 唐河县| 阿克陶县| 雅安市| 梨树县| 行唐县| 霍林郭勒市| 岑溪市| 大兴区| 太仓市| 山东| 沙洋县|