为什么这不起作用?
Browser = Safari
<p style="color:blue;">foo</p>
if ($("p").css(("color") === "blue")) {
alert(1);
}
谢谢
答案 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);
}