Javascript jquery if(css_属性=值)

Javascript jquery if(css_属性=值),javascript,jquery,css,Javascript,Jquery,Css,是否可以在javascript/jquery中执行if语句来确定: 如果某个元素的css属性的值等于给定值? 例如: if( $('.box').css(background-color = blue) ){ // do this... } 您应该能够执行以下操作: if ($('.box').css('background-color') === 'blue') {// do this...} 当只给出一个参数时,JQuery方法将返回给定参数的值。您可以尝试以下方法: var

是否可以在javascript/jquery中执行if语句来确定:

如果某个元素的css属性的值等于给定值?

例如:

if( $('.box').css(background-color = blue) ){
    // do this...
}

您应该能够执行以下操作:

if ($('.box').css('background-color') === 'blue') 
{// do this...}
当只给出一个参数时,JQuery方法将返回给定参数的值。您可以尝试以下方法:

var color = $('.box').css('background-color');
if (color == 'rgb(0, 0, 255)' || color == 'blue') // =='blue' <- IE hack
    alert("it's blue!\nColor detected: " + color);


编辑:一年半之后,我觉得这个答案值得更新

对于大多数用例,我建议使用CSS类:

.blue {
    color: blue;
}
这允许使用、方法进行操作以及检查:

if ( $('#myElem').hasClass('blue') ) {
    //it has the .blue class!
}
这在所有浏览器中都能无缝工作,无需黑客攻击,并且可以更好地分离关注点——也就是说,如果您的样式发生变化,比如说
.blue{color:lightblue;}
,JS将继续工作,而无需修改

注意:当然,这种方法不适用于动态生成颜色值的几个罕见的用例(例如,使用
Math.random()
或从画布像素上拾取颜色值),在这些罕见的用例中,您仍然可以使用此答案中的第一个解决方案。

box=$('.box');
boxes = $('.box');
for(var i = 0;i<boxes.length;i++) {
  if(boxes[i].style.backgroundColor =="blue") {
    //do stuff
  }
}
对于(var i=0;i检查

if($(this).css('color') == 'rgb(251, 176, 64)')

“昏迷后的空间”

以上这些在2015年似乎都不起作用。对我来说,在Chrome浏览器中测试链接的颜色与:visited颜色似乎在所有情况下都是正确的。此外,如果你不是“嗅探”,并且真心想知道他们访问你的网站时是否点击了链接,我发现一个简单的:

$("a").addClass('visited');
检查课程效果很好

if ( $("a").hasClass('visited'); ){ console.log('do something honorable'); }

或者像这样
$($('.box')[3]).css()
选择匹配的第四个元素。添加了RGB注释,
。每次迭代和示例。谢谢!回答得很好,你省去了我用十六进制值代替RGB的麻烦。在这种情况下,
==
=
基本上会给出相同的结果。这是一个偏好问题,但两者都是c正确。严格等于string
blue
?在中测试
.css
方法似乎总是返回RGB字符串。编辑:IE上除外。注意:问题是关于
jQuery
。即使链接是红色,我也会返回true。我的:已访问颜色是绿色。
if ( $("a").hasClass('visited'); ){ console.log('do something honorable'); }