【发布时间】:2017-12-16 17:29:57
【问题描述】:
我会通过 onclick javascript 函数设置元素的背景颜色。 我的代码是:
function changeBg( el ) {
if( $( el ).css( "background-color" ) === "rgb(255,255,0)" ) {
$( el ).css( "background-color", "red" );
}
else {
$( el ).css( "background-color", "rgb(255,255,0)" );
}
}
此代码可用于将默认背景颜色更改为黄色 (rgb(255, 255,0)),但不能从黄色变为红色。第一个条件总是被跳过
【问题讨论】:
-
我建议将 jQuery 对象放在一个变量中。而不是在每一行上创建一个新的 jQuery 对象。
-
尝试捕捉价值,在比较之前,会有所不同。因为是解析为十六进制,而你的比较是RGBA
-
我尝试打印元素背景颜色的typeof和值并返回String rgb(255,255,0)
-
当您比较字符串时,请尝试在 RGB 值之间放置空格,因为这可能是问题
$( el ).css( "background-color" ) === "rgb(255, 255, 0)" -
你确定它没有返回带有空格的“rgb(255, 255, 0)”
标签: javascript jquery css background-color