2016-04-19 16 views
0

我想在樣式表中找到CSS規則(.widget-area)的索引號。這是我如何做,但它返回undefined。如何找到一個CSS規則的索引

function findStyle(){ 
var myStylesheet=document.styleSheets[8].cssRules[".widget-area"]; 
console.log(myStylesheet); 
}; 

如果我離開了.cssRules[".widget-area"]返回樣式表的所有規則,但也有好幾千條。任何人都知道如何做到這一點?

謝謝。

+0

這似乎是一個壞主意。什麼是最終目標? – isherwood

+1

'console.log(document.styleSheets [8])'並找出關鍵的實際是什麼。 –

+0

@isherwood我需要動態擦除css規則,我試圖找到索引。父主題將經常更新,我需要保持此特定規則不活動。 –

回答

0

我認爲你使用.cssRules作爲函數,但它是一個對象。所以,如果你想尋找一個自定義的規則,你應該使用這樣的事情:

var targetRule; 
var rules = document.styleSheets[8].cssRules; 

for (i=0; i<rules.length; i++){ 
    if (rules[i].selectorText.toLowerCase() == ".widget-area"){ 
    targetRule = rules[i]; 
    break; 
    } 
} 
+0

感謝您的回答。我試過了,並從控制檯得到了這個「Uncaught TypeError:Can not read property」toLowerCase'undefined「。任何想法爲什麼? –