Javascript jqueryif语句返回returnworng语句
我对Jquery有点陌生,我遇到了一个问题 在下面的代码中-if语句不应该出现在ELSE语句中,因为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语句,以包含
$(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");
}
});