2011-03-15 59 views
5

在頁面準備就緒我想運行一個函數,將獲得CSS背景圖像設置,並且還希望以另一種方式使用懸停背景圖像設置。jQuery獲取CSS懸停值

我已經看到要實現這一點的唯一方法需要有人在獲取值之前實際將鼠標懸停在元素上。

任何人都有辦法?

這是如何得到一個css非懸停值:

$(this).css('background-color'); 
+0

你試過$( 「#」 + this.id + 「:HOVER」)。CSS(「背景-顏色」); ? – AbiusX

回答

4

要做到這一點,你需要從樣式表直接讀取值。基本思想是遍歷document.styleSheets中的每個樣式表,並在其中遍歷.cssRules.rules中的每個規則,查找與您所匹配的.selectorText匹配的規則。

爲了簡化事情,我爲此寫了一個(小)庫 - JSS。如果你有一個選擇,例如#someId:hover,然後使用JSS,你可以得到它的background-color屬性搭配:

jss('#someId:hover').get()['background-color'] 
+0

jss未能通過實際測試,alas:jss(「#espacio_publico」)。get() - > TypeError:無法讀取null屬性的'length' –