javascript-检查CSSRule是否与元素匹配
有没有办法检查CSS选择器(通过javascript-检查CSSRule是否与元素匹配,javascript,css,dom,Javascript,Css,Dom,有没有办法检查CSS选择器(通过document.styleSheets[666].rules[1984].selectorText获得)是否与特定元素匹配 我需要一个跨浏览器的纯JavaScript解决方案,但是如果简单地使用jQuery,我会考虑使用jQuery。 它在jQuery中非常简单: $(element).is(cssSelector); 对于现代浏览器,有两种选择。对于不太现代的浏览器,可以使用和 不要使用jQuery。够了 Sizzle.matchesSelector(ele
document.styleSheets[666].rules[1984].selectorText
获得)是否与特定元素匹配
我需要一个跨浏览器的纯JavaScript解决方案,但是如果简单地使用jQuery,我会考虑使用jQuery。
它在jQuery中非常简单:
$(element).is(cssSelector);
对于现代浏览器,有两种选择。对于不太现代的浏览器,可以使用和 不要使用jQuery。够了
Sizzle.matchesSelector(element, selector)
搜索特定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;
}
}
var mysheet=document.styleSheets[0]
var myrules=mysheet.cssRules?mysheet.cssRules:mysheet.rules
对于(i=0;iYes,我倾向于使用jQuery作为最后手段,但引擎很可能会使用它;)thx,这就是我想要的wanted@n00b:Sizzle是jQuery背后的引擎,而不是相反。这不是我所要求的…;)我1+这是因为mysheet.cssRules?mysheet.cssRules:mysheet.rules