Javascript jqueryif语句返回returnworng语句

Javascript jqueryif语句返回returnworng语句,javascript,jquery,html,Javascript,Jquery,Html,我对Jquery有点陌生,我遇到了一个问题 在下面的代码中-if语句不应该出现在ELSE语句中,因为$(this).css(“color”)=“red”)… https://jsfiddle.net/roybarak/7mLsot7k/ 我的代码怎么了 TNX,roy.快速使用console.log($(this.css(“color”))告诉您段落的颜色是“rgb(255,0,0)”,至少根据Chrome。如下面引用的文档所述,不同的浏览器可能会以不同的格式返回颜色 我修改了if语句,以包含

我对Jquery有点陌生,我遇到了一个问题

在下面的代码中-if语句不应该出现在ELSE语句中,因为
$(this).css(“color”)=“red”)…

https://jsfiddle.net/roybarak/7mLsot7k/
我的代码怎么了


TNX,roy.

快速使用
console.log($(this.css(“color”))告诉您段落的颜色是“rgb(255,0,0)”,至少根据Chrome。如下面引用的文档所述,不同的浏览器可能会以不同的格式返回颜色

我修改了
if
语句,以包含我认为最常见的“red”版本:

正如用户Vohuman所指出的,来自的重要部分:

请注意,元素的计算样式可能与 在样式表中为该元素指定的值。例如, 尺寸的计算样式几乎总是像素,但它们可以 在样式表中指定为em、ex、px或%。不同的浏览器 可以返回逻辑上但不是文本上的CSS颜色值 相等,例如#FFF、#ffffff和rgb(255255)。”


演示:

console.log($(this.css(“color”));那么,通过if语句更改CSS的最佳方法是什么呢?我已经更新了答案中的代码,使其更易于跨浏览器使用。并非所有浏览器都会以相同的方式返回颜色。
$("p").click(function () {
    if ($(this).css("color").toLowerCase() == "rgb(255, 0, 0)" 
      || $(this).css("color").toLowerCase() == '#ff0000' 
      || $(this).css("color").toLowerCase() == '#f00') {
        alert("this is red");
    } else {
        alert("this is not red");
    }
});