2013-12-18 32 views

回答

1

這的確是可能的,但更爲複雜。
您可以使用document.styleSheets屬性訪問樣式表。

在你要訪問包含在樣式表中的所有CSS規則的cssRules屬性中的每個樣式,所以要獲得DOM中第一個樣式表的第一條規則,你可以做

document.styleSheets[0].cssRules[0]; 

要找到某個元素,你必須解析樣式表,這是它獲得的複雜在某些情況下,如款式都繼承等,但如果尋找某一選擇和一定的風格:

var rules = document.styleSheets[0].cssRules, 
    theRule = null; 

for (var i=0; i<rules.length; i++) { 
    if (rules[i].selectorText.toLowerCase() == '#myelement') { 
     var width = rules[i].style.width; 
     break; 
    } 
} 
+0

我猜沒有辦法從名單中選擇一個CSS,除了在href中迭代和匹配名稱,正確嗎? – user76568

+0

@Dror - 實際上,'rules [i] .selectorText'獲得選擇器文本,例如'#elementID'或'.class:hover'等等。應該注意,像這樣訪問樣式表通常是不好的想法,並很難得到正確的。 – adeneo

+0

我指的是一個CSS文件的名稱,這是你的意思嗎? – user76568