2015-01-15 67 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語句的大括號,你有一個額外的另一個版本「」這將解決你的語法問題。