1

CSSセレクター(によって取得document.styleSheets[666].rules[1984].selectorText)が特定の要素と一致するかどうかを確認する方法はありますか?

クロスブラウザの純粋なjavascriptソリューションを求めていますが、jQueryで単純に実行する場合は、jQueryの使用を検討します。

4

3 に答える 3

3

最新のブラウザには、がありmatchesSelectorます。最近のブラウザでは、DOMquerySelectorAllを使用してウォークすることができます。

jQueryは使用しないでください。シズルで十分です。

Sizzle.matchesSelector(element, selector)

https://github.com/jquery/sizzle/wiki/Sizzle-ドキュメント

于 2012-09-18T06:31:51.393 に答える
1

特定のCSSルールを検索する

次の例では、スタイルシート内で「a:hover」ルールを検索し、見つかった場合は、そのルールへの参照を返します。

var mysheet=document.styleSheets[0]
var myrules=mysheet.cssRules? mysheet.cssRules: mysheet.rules
for (i=0; i<myrules.length; i++){
if(myrules[i].selectorText.toLowerCase()=="a:hover"){ //find "a:hover" rule
targetrule=myrules[i]
break;
}
}

参照:http ://www.javascriptkit.com/dhtmltutors/externalcss3.shtml

于 2012-09-18T06:34:36.397 に答える
-1

jQueryでは本当に簡単です。

$(element).is(cssSelector);
于 2012-09-18T06:30:01.643 に答える