欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS使用getComputedStyle()方法獲取CSS屬性值

 更新時間:2014年04月23日 15:30:45   作者:  
經常會用到js來獲取元素的CSS樣式,由于方法眾多,在下面的文章中為大家詳細整理下
在對網頁進行調試的過程中,經常會用到js來獲取元素的CSS樣式,方法有很多很多,現(xiàn)在僅把我經常用的方法總結如下:

1. obj.style:這個方法只能JS只能獲取寫在html標簽中的寫在style屬性中的值(style=”…”),而無法獲取定義在<style type="text/css">里面的屬性。
復制代碼 代碼如下:

<span style="font-family:Arial;font-size:14px;"><!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>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>JS獲取CSS屬性值</title>
<style type=”text/css”>
<!–
.ss{color:#cdcdcd;}
–>
</style>
</head>

<body>
<div id=”css88″ class=”ss” style=”width:200px; height:200px; background:#333333″>JS獲取CSS屬性值</div>
<script type=”text/javascript”>
alert(document.getElementById(“css88″).style.width);//200px
alert(document.getElementById(“css88″).style.color);//空白
</script>
</body>
</html> </span>

2. IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法

“DOM2級樣式”增強了document.defaultView,提供了getComputedStyle()方法。這個方法接受兩個參數(shù):要取得計算樣式的元素和一個偽元素字符串(例如“:after”)。如果不需要偽元素信息,第二個參數(shù)可以是null。getComputerStyle()方法返回一個CSSStyleDeclaration對象,其中包含當前元素的所有計算的樣式。以下面的HTML頁面為例:
復制代碼 代碼如下:

<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html>
<html>
<head>
<title>計算元素樣式</title>
<style>
#myDiv {
background-color:blue;
width:100px;
height:200px;
}
</style>
<body>
<div id ="myDiv" style="background-color:red; border:1px solid black"></div>
<script>
var myDiv = document.getElementById("myDiv");
var computedStyle = document.defaultView.getComputedStyle(myDiv, null);
alert(computedStyle.backgroundColor); //"red"
alert(computedStyle.width); //"100px"
alert(computedStyle.height); //"200px"
alert(computedStyle.border); //在某些瀏覽器中是“1px solid black”
</script>
</body>
</head>
</html></span>

邊框屬性可能也不會返回樣式表中實際的border規(guī)則(Opera會返回,但其它瀏覽器不會)。存在這個差別的原因是不同瀏覽器解釋綜合屬性的方式不同,因為設置這種屬性實際上會涉及很多其他的屬性。在設置border時,實際上是設置了四個邊的邊框寬度、顏色、樣式屬性。因此,即使computedStyle.border不會在所有瀏覽器中都返回值,但computedStyle.borderLeftWidth則會返回值。

需要注意的是,即使有些瀏覽器支持這種功能,但表示值的方式可能會有所區(qū)別。例如,F(xiàn)irefox和Safari會返回將所有顏色轉換成RGB格式。因此,即使getComputedStyle()方法時,最好多在幾種瀏覽器中測試一下。

IE不支持getComputedStyle()方法,但它有一種類似的概念。在IE中,每個具有style屬性的元素還有一個currentStyle屬性。這個屬性是CSSStyleDeclaration的實例,包含當前元素全部計算后的樣式。取得這些樣式的方法差不多,如下:
復制代碼 代碼如下:

<span style="font-family:Arial;font-size:14px;">var myDiv = document.getElementById("myDiv");
var computedStyle = myDiv.currentStyle;
alert(computedStyle.backgroundColor); //"red"
alert(computedStyle.width); //"100px"
alert(computedStyle.height); //"200px"
alert(computedStyle.border); //undefined</span>

與DOM版本的方式一樣,IE也沒有返回border樣式,因為這是一個綜合屬性。

3. 我自己在寫測試case過程中寫的一個簡單的函數(shù)(適用于Chrome):
復制代碼 代碼如下:

<span style="font-family:Arial;font-size:14px;">function getCSS(div){
return document.defaultView.getComputedStyle(div, null);
//return div.currentStyle;//沒用過,IE
}</span>

相關文章

  • 三種檢測iPhone/iPad設備方向的方法

    三種檢測iPhone/iPad設備方向的方法

    這篇文章主要介紹了檢測iPhone/iPad設備方向的三種方法,需要的朋友可以參考下
    2014-04-04
  • text-align:justify實現(xiàn)文本兩端對齊 兼容IE

    text-align:justify實現(xiàn)文本兩端對齊 兼容IE

    對于text-align 我們再熟悉不過了,可是它有個justify屬性,平時很少用到,就鮮為人知了。justify是一種文本靠兩邊布局方式,一般應用于書刊雜志排版;合理運用text-align:justify 有時會省去很多開發(fā)的時間,通過本文介紹text-align:justify實現(xiàn)文本兩端對齊 兼容IE
    2015-08-08
  • 懸浮數(shù)字的實現(xiàn)案例

    懸浮數(shù)字的實現(xiàn)案例

    本篇文章主要是對懸浮數(shù)字的實現(xiàn)案例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • js使用html()或text()方法獲取設置p標簽的顯示的值

    js使用html()或text()方法獲取設置p標簽的顯示的值

    html()方法可以用來讀取或者設置某個元素中的HTML內容,text()方法可以用來讀取或者沒置某個元素中的文本內容
    2014-08-08
  • css transform 3D幻燈片特效實現(xiàn)步驟解讀

    css transform 3D幻燈片特效實現(xiàn)步驟解讀

    3D幻燈片特效想必大家以不在陌生至于表現(xiàn)形式一般都是拘泥于傳統(tǒng)接下來為大家介紹下使用css3 transform配合js以及html實現(xiàn)3D幻燈片特效
    2013-03-03
  • javascript實現(xiàn)留言板功能

    javascript實現(xiàn)留言板功能

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)留言板功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • JavaScript 學習筆記(四)

    JavaScript 學習筆記(四)

    今天繼續(xù)學習JS中的對象,昨天學完了本地對象中的兩個重要對象Array和Date。今天看下內置對象Global對象和Math對象。
    2009-12-12
  • Firefox和IE瀏覽器兼容JS腳本寫法小結

    Firefox和IE瀏覽器兼容JS腳本寫法小結

    window.event兼容腳本 1.2.屏蔽Form提交事件 3.獲取事件源 4.添加事件兼容寫法 5.Firefox注冊innerText寫法 6.長度 7.父控件下的子控件 8.XmlHttp
    2008-07-07
  • js實現(xiàn)登錄注冊框手機號和驗證碼校驗(前端部分)

    js實現(xiàn)登錄注冊框手機號和驗證碼校驗(前端部分)

    這篇文章主要為大家詳細介紹了js實現(xiàn)登錄注冊框手機號和驗證碼校驗的前端部分代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 詳解JavaScript對象轉原始值

    詳解JavaScript對象轉原始值

    這篇文章主要為大家介紹了vue組件通信的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論