js知識點總結(jié)之getComputedStyle的用法
getComputedStyle()這個方法來獲取元素當前的樣式
這個方法是window的方法,可以直接使用
需要兩個參數(shù)
- 第一個:要獲取樣式的元素
- 第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當前元素對應(yīng)的樣式
1.可以通過 getComputedStyle(對象,null).樣式名 的形式來讀取樣式
如果獲取的樣式?jīng)]有設(shè)置,則會獲取到真實的值,而不是默認值
比如:沒有設(shè)置width,它不會獲取到auto,而是一個長度
2.為了更方便的使用 可以加入正則表達式獲取樣式名
利用 getComputedStyle(樣式元素,null)[樣式名] 的形式來獲取樣式
下面舉個例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } #box1{ width: 100px; height: 100px; background-color: red; left: 100px; position: absolute; } </style> <script> window.onload=function(){ //獲取box1元素節(jié)點對象 var box1=document.getElementById("box1"); //這里調(diào)用getComputedStyle來獲取left的值 var left=getComputedStyle(box1,null)["left"]; alert("left的值是"+left); } } </script> </head> <body> <div id="box1"></div> </body> </html>
可以看到這里是獲取box1元素的left屬性,我們設(shè)置的屬性是100px,
運行結(jié)果如下:
補充:getComputedStyle與style的區(qū)別
我們使用element.style也可以獲取元素的CSS樣式聲明對象,但是其與getComputedStyle方法還有有一些差異的(只讀與可寫)。
1、正如上面提到的getComputedStyle方法是只讀的,只能獲取樣式,不能設(shè)置;而element.style能讀能寫,能屈能伸。
2、獲取的對象范圍getComputedStyle方法獲取的是最終應(yīng)用在元素上的所有CSS屬性對象(即使沒有CSS代碼,也會把默認的祖宗八代都顯示出來);
而element.style只能獲取元素style屬性中的CSS樣式。因此對于一個光禿禿的元素<p>,getComputedStyle方法返回對象中l(wèi)ength屬性值
(如果有)就是190+, 而element.style就是0。
總結(jié)
到此這篇關(guān)于js知識點總結(jié)之getComputedStyle用法的文章就介紹到這了,更多相關(guān)js getComputedStyle用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
常見效果實現(xiàn)之返回頂部(結(jié)合淡入、淡出、減速滾動)
返回頂部是經(jīng)常會見到的效果,代碼比較簡單,使用2個對象和一個主函數(shù)。職責(zé)明確方便復(fù)用2012-01-01js 判斷圖片是否加載完以及實現(xiàn)圖片的預(yù)下載
這篇文章主要介紹了js 判斷圖片是否加載完以及實現(xiàn)圖片的預(yù)下載,需要的朋友可以參考下2014-08-08