2010-07-19 126 views

回答

2

即使在不支持CSS中的选择器的浏览器中,选择带有jQuery选择器的元素也是可行的。

但是,您可以将样式应用于CSS3选择器,然后使用jQuery选择一个元素以确定是否应用了该样式。

例如,在CSS:

#myid > p { 
    display: none; 
} 

,然后在jQuery的:

if ($('#myid > p').css('display') != 'none') { 
// blah 
} 

但是要小心,因为.css()可能不会返回你所期望的。例如,如果您应用“红色”的颜色,则会返回rgb(255, 0, 0)

对不起,我知道这不像Modernizr那样完美,但我希望它可以帮助你。

+0

谢谢你的解决方案。 – fatihturan 2011-05-15 08:12:20

0

您可以尝试与选择选择的东西,如果它返回“NULL”或者是浏览器不支持,或没有该类型

我的建议是使用你知道的东西的选择要素存在。

+0

但jQuery的选择器引擎不同于普通的浏览器选择器引擎。它怎么可能?你能给个例子吗? – fatihturan 2010-07-19 13:46:42

+0

不同?怎么会这样? – Hailwood 2010-07-19 16:36:47

+1

如果我对,jQuery使用Sizzle选择器引擎来选择元素。如果我尝试选择这样的内容:$('ul#f00 li:nth-​​of-type(odd)'),它将在每个浏览器(甚至IE6)上返回对象。我对吗? – fatihturan 2010-07-21 08:00:35