js獲取元素樣式包括非行內樣式


var obj=document.getElementById("id");

由於js新版本的發放,越來越多的人喜歡用原生js而非jquery對dom元素進行操作,那么如果通過js獲取dom元素的樣式呢,很多人都知道用obj.style這種方式,但是,這種方式只能獲取dom行內樣式,一旦,我們定義class,然后再css文件里寫時就會獲取不到,下面我主要介紹獲取行內樣式和獲取非行內樣式兩種獲取方法。

1,獲取行內樣式。

<div style="width:200"  id="id">asd</div>

直接運用obj.style."屬性名",例如obj.style.width可以獲得200;

如果不知道屬性名叫什么,可以打印dom對象console.dir(obj);在網頁上你可以看到style里所有的屬性,這些你都可以進行操作和讀取

 

2,獲取非行內樣式

.test{

height:200px;

}

<div style="width:200" class="test" id="id">asd</div>

在這個例子如果我們用 obj.style.height獲取的數值將會為空,

a)在ie瀏覽器里,我們用到obj的currentStyle方法,來獲取。 obj.currentStyle["height"]。

b)在非ie瀏覽器里,我們需要用到window自帶的方法,getComputedStyle(obj).height;

這樣我們就可以通過js獲取元素屬性了

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM