2010-03-22 143 views
1

我想在CSS中定義一個變量/參數並通過javascript訪問它。這樣做的最好方法是什麼?在變量/參數中定義變量並在javascript中使用?

我想到的一個選擇是在body元素上放置一個cutsom屬性,然後通過jQuery訪問該屬性。

更多信息:我正在CSS中定義顏色集。我用RaphaelJS創建了一個函數在頁面上繪製漸變背景。我希望此功能使用突出顯示顏色(在DOM的其他位置不使用),它將與其他顏色元素一起在CSS中定義。

感謝

回答

2

創建使用jQuery一個模擬元素,類hightlightColour分配給它,讓你可能需要的任何CSS定義和破壞的元素。

$(function() { 
    var highlightColour = getClassCSS('highlightColour', 'color'); 
    alert(highlightColour); 
}); 

function getClassCSS(className, attribute) { 
    var mock = $('<div />').addClass(className).appendTo('body'); 
    var value = mock.css(attribute); 
    mock.remove(); 
    return value; 
} 

片斷代碼將獲得被用於在CSS中highlightColour類中定義的屬性color。只要確保沒有任何內容覆蓋屬性。經過測試並在Firefox 3.6上工作。

+0

這不起作用,因爲'mock'只會在連接到DOM時佔用屬性。 (經過測試的safari)。 – Ross 2010-03-22 12:36:40

+0

@Ross,你是對的,你需要先將元素附加到DOM。我已經更新了我的答案。 – 2010-03-22 12:39:24