2015-11-23 35 views
2

我想一個if else statement應用於元素確定另一元素是否具有特定背景顏色。如果背景等於問題

我已經指出該元素的背景色爲藍色的CSS,但是當我添加JavaScript語句,該元素將忽略CSS(藍色)規定的背景顏色,並採用在JS IF statement(紅色)規定的一個。

HTML:

<div id="img"></div> 
<div id="color">test</div> 

CSS;

#img { 
    background:blue; 
} 

JS

if (document.getElementById('img').style.background = "red") 
    {document.getElementById('color').style.background = "green";} 
else {document.getElementById('color').style.background = "red";} 

有誰知道爲什麼發生這種情況?

JS Fiddle example

+2

而不是試圖騙過系統和周圍張貼你的代碼在你的問題鏈接到的jsfiddle的時候,爲什麼不這樣做,你要問的規則得到?如果jsFiddle永遠消失或無法訪問,那麼您的問題將失去對您的代碼在其中的未來訪問者的所有價值。 – j08691

回答

1

這裏的問題是:

if (document.getElementById('img').style.background = "red") 

你實際上重置CSS - 不是說如果它等於 - 嘗試以下操作:

if (document.getElementById('img').style.background == "red") 
{document.getElementById('color').style.background = "green";} 
else {document.getElementById('color').style.background = "red";} 

操作==是如何檢查某物是否與其他物品相同,或者如果要確保類型相同,則可以使用===。這兩家運營商的一個很好的解釋可以在這裏找到:Which equals operator (== vs ===) should be used in JavaScript comparisons?

+0

太好了。感謝您的幫助。 –

+0

@GaryVoss沒問題,很高興我能幫上忙。 – Aravona