2015-01-15 69 views
0

我想利用这个代码来改变每.hdva元素的颜色,if(some condition)我得到在Chrome控制台Unexpected token (http://www.alera.cz,L:。2678)意外标记(jQuery中

$('.hdva').each(function() { 
    var color = $(this).css('color'); 
    if ($(this).css.('color') === '#00ffff') 
    { 
     $(this).css.('color') === '#006699'; 
    } 
}); 

看不到错误在那里,或者是有什么错

+1

错字:在第二次和第三次使用时,'css'和它的调用括号之间有额外的'.'。他们应该匹配第一名。 – 2015-01-15 18:28:32

+0

在var语句中设置了'color'之后,为什么要重新评估if语句中的$(this).css('color')'? if语句可以读取'if(color ==='#00ffff')'。另外,beloe Ragnar为if语句中的设置行提供了正确的语法。 – 2015-01-15 18:51:31

+0

好点,谢谢。虽然,功能不起作用,但必须找出原因。 – 2015-01-15 18:56:01

回答

3

('color')前取出.,第二行是没有必要的,除非你需要的其他用途的颜色值。

$('.hdva').each(function() {  
if ($(this).css('color') == '#00ffff') 
{ 
    $(this).css('color', '#006699'); //use this way for setting the color instead of $(this).css.('color') === '#006699'; because it's a comparison, not an assignment. 
} 
}); 

为了使用var避免$(this)

$('.hdva').each(function() {  
var item = $(this); 
if (item.css('color') == '#00ffff') 
{ 
    item.css('color', '#006699'); 
} 
}); 
+0

哦,谢谢,我向上帝发誓我正在寻找像那样的半小时:))谢谢你! – 2015-01-15 18:31:07

0

您使用的是点CSS后:

.css.('color') 
// ^^ 

从删除他们你码。

0

你有一个点,你不应该在这里:css.('color')

0

两个电话在你的if语句的第一行,并在if语句的大括号,你有一个额外的另一个版本“”这将解决你的语法问题。