2012-02-19 19 views
2

在我製作的網頁中,我使用了一個樣式塊來定義位置:對於某個特定的ID是絕對的。我也設置了頂部和左側的項目。這一切工作正常。如何使用JavaScript查找使用STYLE標記設置的樣式值,而不是使用JavaScript?

<style> 
#vPage { position: absolute; left: 100px; top: 100px; } 
</style> 

但是當我嘗試閱讀使用Javascript值: obj.style.position

alert(document.getElementById("vPage").style.position); 

其值爲 「」

這是爲什麼?我該如何檢查設置了樣式標籤的頁面元素的樣式,並且使用Javascript設置了而不是 Javascript?

我使用的瀏覽器是IE7。任何幫助表示讚賞。

+2

http://robertnyman.com/2006/04/24/get-the渲染的式-的-一個元件/。哦,這只是使用jQuery的另一個原因;) – j08691 2012-02-19 04:25:48

+0

爲什麼不讓這個答案,@ j08691?看起來像是對我的回答,以及一個簡單的「風格屬性只會給你內聯風格的價值」,也可能是適用於IE7的代碼片段。 – 2012-02-19 04:27:57

+0

@Orville:您正在尋找元素的* computed *樣式。當然還有一種標準的方式和一種IE方式。上面的鏈接也是我偶然發現的,並將發佈的鏈接。 – 2012-02-19 04:28:11

回答

0

使用下面的函數來獲得跨瀏覽器的樣式,EL =你的元素ID和cssprop =任何風格的道具

function getStyle(el, cssprop){ 
if (el.currentStyle) //IE 
    return el.currentStyle[cssprop] 
else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox 
    return document.defaultView.getComputedStyle(el, "")[cssprop] 
else //try and get inline style 
    return el.style[cssprop] 
} 
+0

我知道,我知道!現在我正在檢查這個!我一直使用StackOverflow的方式太被動......這是我認爲最好的網站,用戶可以獲得技術問題的答案。我希望今後能做得更好。 – 2015-12-05 19:28:16