2014-07-23 128 views
2

即時開始與飛鏢,我得到了我的第一個問題。onClick backgroundColor更改

我想在some1點擊它時着色行。

默認我得到的backgroundColor白,當我點擊它變爲黃色,但是當我點擊,而它的黃色,它不會再次給白

更改代碼:

void changeText(MouseEvent event) { 
    if(querySelector("#Column_1").style.backgroundColor == 'Yellow') 
    querySelector("#Column_1").style.backgroundColor = 'White'; 

    else querySelector("#Column_1").style.backgroundColor = 'Yellow'; 
} 
+1

你想在jQuery或JavaScript? [檢查](http://jsfiddle.net/GopsAB/N4heN/) –

回答

1

的即使將它們設置爲大寫,值也會返回小寫。如果它們不相同,比較失敗。

void changeText(MouseEvent event) { 
    var col = querySelector('#Column_1'); 
    if(col.style.backgroundColor.toLowerCase() == 'white') { 
    col.style.backgroundColor = 'yellow'; 
    } else { 
    col.style.backgroundColor = 'white'; 
    } 
} 

我不知道爲什麼我以前沒有從style屬性中獲得任何值,但現在這對我有用。

無論如何,我會建議使用CSS和類。

當你把這個在你的HTML或到您的CSS文件中<head>如果你使用一個

<style> 
    .isSelected { 
    background-color: yellow; 
    } 
</style> 

,改變你的textChange方法

void changeText(MouseEvent event) { 
    var col = querySelector('#Column_1').classes.toggle("isSelected"); 
} 

你應該得到你想要的影響。

+0

工作很好,非常感謝:) – Zeronader

+0

我更新了我的答案。以前的建議仍然是首選。 –