如何检查特定的CSS值是否存在

时间:2013-02-20 09:25:39

标签: jquery css

为什么这不起作用?

Browser = Safari

<p style="color:blue;">foo</p>

if ($("p").css(("color") === "blue")) {
        alert(1);
}

谢谢

4 个答案:

答案 0 :(得分:8)

所有关于语法和括号的内容:

if ($("p").css("color") === "blue") {
        alert(1);
}

答案 1 :(得分:3)

最初,支架位置错误。您应该获取 CSS属性的值&#34; color&#34;使用.css("color")并测试与您的值的相等性,如下所示:

if ($('p').css('color') === 'blue') {
    alert('color is blue');
}

但是,某些浏览器会返回rgb值,而不会匹配您的&#34;蓝色&#34;,例如Chrome和Firefox返回rgb(0, 0, 255) $('p').css('color'),所以你可能想要测试rgb(甚至是hex - &#39;#0000ff&#39;)值。所有值都是逻辑上但文本上不相同。

var color = $('p').css('color')
if (color === 'blue' || color === 'rgb(0, 0, 255)' || color === '#0000ff') {
    alert('color is blue');
}

更进一步, if condition 应该考虑颜色的情况。 &#39; BLUE&#39;或者&#39;#0000FF&#39;也有效。

答案 2 :(得分:0)

我认为它应该是:if ($("p").css("color") === "blue"){ alert(1); }

答案 3 :(得分:0)

至少在Firefox和Chrome中

$("p").css("color") 

返回rgb(0,0,255),所以无论如何你的情况都不会是真的。也许这样的解决方法:

if ($("p").attr("style").contains('color:blue;')) {
    alert(1);
}