我正在尝试添加到div的CSS,因为使用jQuery在该div中存在不同的CSS属性。这是算法:
如果
#div1
具有属性color:red
,则也会将top: -10px;
添加到#div1
。
这就是我的尝试:
if ($('#div1').css('color') === 'red') {
$("#div1").css("top","-10px");
}
有人可以发现我的错误吗?
注意:虽然添加处理color
和top
的CSS类是更好的选择,但我无法编辑网站的样式表。
答案 0 :(得分:4)
发布的代码中没有语法错误,css
方法返回rgb
值:
if ($('#div1').css('color') === 'rgb(255, 0, 0)') {
但是,您可以在元素中添加类并使用hasClass
方法,而不是检查颜色:
.error {
color: red;
}
if ( $('#div1').hasClass('error') ) {
答案 1 :(得分:3)
这是因为颜色可以用很多方式表示,例如。 rgb(255,0,0),“red”,#f00等。
答案 2 :(得分:0)
css颜色将以rgb值的形式返回。
你可以这样做this fiddle
if ($('#div1').css('color') == 'rgb(255, 0, 0)') {
$("#div1").css("color","blue");
}
注意我将输出更改为蓝色以进行明显更改。
不确定它是否依赖于浏览器所以我强烈建议您在div中添加一个类,并检查#div1是否具有该类,而不是检查颜色。
答案 3 :(得分:-2)
未经测试,但正确的语法应该有冒号和大括号
if ($('#div1').css('color') === 'red') {
$("#div1").css({"top":"-10"});
}