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

解析js如何獲取css樣式

 更新時間:2016年12月11日 08:34:20   作者:心之所向便是光  
本文主要對javascript如何如何獲取css樣式進行簡要分析,需要的朋友可以看下,希望對大家有所幫助

一、獲取內(nèi)聯(lián)樣式

<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背景色變?yōu)榫G色 
</script>

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

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

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

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

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

<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>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • Js冒泡事件詳解及阻止示例

    Js冒泡事件詳解及阻止示例

    如果某元素定義了事件A,如click事件,如果觸發(fā)了事件之后,沒有阻止冒泡事件,那么事件將向父級元素傳播
    2014-03-03
  • javascript動態(tài)生成表格詳解

    javascript動態(tài)生成表格詳解

    這篇文章主要介紹了JavaScript動態(tài)生成表格的示例,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2021-10-10
  • Js動態(tài)創(chuàng)建div

    Js動態(tài)創(chuàng)建div

    因為功能需要,需要動態(tài)創(chuàng)建DIV
    2008-09-09
  • 在ASP.NET MVC項目中使用RequireJS庫的用法示例

    在ASP.NET MVC項目中使用RequireJS庫的用法示例

    這篇文章主要介紹了在ASP.NET MVC項目中使用RequireJS的用法示例,文中主要講解了網(wǎng)站項目的一些基本目錄結構思想,并給出了一個半自動壓縮的例子,的朋友可以參考下
    2016-02-02
  • 一個JavaScript的求愛小特效

    一個JavaScript的求愛小特效

    本文做了一個JavaScript的求愛小特效,不僅能出現(xiàn)下面的圖的效果,還可以讓這個圖形跟隨著鼠標轉(zhuǎn)動哦,需要的朋友可以參考下
    2014-05-05
  • JavaScript實現(xiàn)隨機數(shù)生成器(去重)

    JavaScript實現(xiàn)隨機數(shù)生成器(去重)

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)隨機數(shù)生成器,生成不重復的隨機數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • ?typeScript入門基礎介紹

    ?typeScript入門基礎介紹

    這篇文章主要介紹了?typeScript入門基礎,TypeScript?是由微軟開發(fā)的開源、跨平臺的編程語言,是?javaScript?的超集,最終被編譯為?javaScript代碼。常常被簡稱為TS支持JS、ES語法,下文將繼續(xù)其他基礎介紹,需要的朋友可以參考一下
    2022-02-02
  • layui中使用jquery控制radio選中事件的示例代碼

    layui中使用jquery控制radio選中事件的示例代碼

    今天小編就為大家分享一篇layui中使用jquery控制radio選中事件的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Javascript原生ajax請求代碼實例

    Javascript原生ajax請求代碼實例

    這篇文章主要介紹了Javascript原生ajax請求代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 深入淺析javascript函數(shù)中with

    深入淺析javascript函數(shù)中with

    這篇文章主要介紹了javascript函數(shù)中with,with函數(shù)方便用來引用某個對象中已有的屬性,但是不能用來給對象添加屬性,要給對象創(chuàng)建新的屬性,下面通過代碼給大家講解,需要的朋友可以參考下
    2018-10-10

最新評論