我想要更改背景颜色,但我可以设置为红色。红色后不能改变蓝色。如果不返回true。我写了红色 - "rgb(256, 0, 0)"
但仍然没有用。我该怎么办?
if($("#row-"+id).css("background-color")!="red")
{
$("#row-"+id).css("background-color", "red");
}
else if($("#row-"+id).css("background-color")== "red")
{
alert("don't show this");
$("#row-"+id).css("background-color", "blue");
}
答案 0 :(得分:1)
像这样:
var $div = $('div');
var bg = $div.css('background-color');
if (bg !== 'rgb(255, 0, 0)') {
$div.css('background-color', 'red');
}
else {
$div.css('background-color', 'blue');
}
答案 1 :(得分:0)
在Chrome中,$(选择器).css(“background-color”)将返回rgb值。
因此你可以这样做:
<p id="row" style="background-color:red">Hello</p>
<script>
var bgColor = $("#row").css("background-color");
if(bgColor === "rgb(255, 0, 0)"){
$("#row").css("background-color", "blue");
} else {
$("#row").css("background-color", "red");
}
</script>
但是,这不是jQuery特有的。 jQuery返回浏览器为计算值提供的内容(例如,来自getComputedStyle或currentStyle)。浏览器提供的内容可以是浏览器想要使用的任何表示形式。
见这里:Why does jQuery .css('background-color') return rgba(0,0,0,0) for 'transparent'?
答案 2 :(得分:0)