2016-04-19 3 views
0

CSSシート(.widget-area)のインデックス番号をスタイルシートで検索しようとしています。これは私がやっている方法ですが、定義されていません。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:コンソールから未定義の"プロパティを 'toLowerCase'を読み取ることができません。どんな考え? –

関連する問題