检查并更改背景颜色

时间:2014-01-08 13:03:36

标签: jquery background-color

我想要更改背景颜色,但我可以设置为红色。红色后不能改变蓝色。如果不返回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");
}

3 个答案:

答案 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');
}

http://jsfiddle.net/k9jYE/

答案 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)

试试这个:

if($("#row-1").css("background-color")!="rgb(255, 0, 0)")

http://fiddle.jshell.net/vU8r4/