2013-02-22 117 views
1

我的代碼是:Javascript更改鏈接顏色錯誤?

<a href="#" onclick="javascript:if(document.body.style.backgroundColor!='#000000'){document.body.style.backgroundColor='#000000';}else{alert('test');}">linkhere</a> 

如果我粘貼到的jsfiddle(http://jsfiddle.net/ey7Lv/),然後運行它不會顯示在第二次點擊警報。但我可以看到代碼沒有任何問題。

我在這裏做錯了什麼?

使用RGB更新:http://jsfiddle.net/ey7Lv/16/仍然沒有在第二次點擊時激活警報。

+0

嘗試'的RGB(0,0,0)',而不是'#000000' – jantimon 2013-02-22 09:25:01

+0

這是因爲你的瀏覽器返回'document.body.style.backgroundColor'爲RGB,而不是十六進制。 – Joseph 2013-02-22 09:25:50

+0

問題解決http://jsfiddle.net/xzvDF/ – Rab 2013-02-22 09:30:56

回答

1

從內存中,瀏覽器可以用許多不同的方式表示顏色。 您可以告訴它將colout設置爲#000000,然後它可以存儲爲'black'或rgb(0,0,0)

使用Chromium,如果將'#000000'的兩個實例更改爲'黑',它的作品。

所以,你更新的代碼將被:

<a href="#" onclick="javascript:if(document.body.style.backgroundColor!='black'){document.body.style.backgroundColor='black';}else{alert('test');}">linkhere</a> 

當然,你可以做其他的事情將是你設置它之前提醒的當前顏色。 即

<a href="#" onclick="javascript:if(document.body.style.backgroundColor!='black'){alert(document.body.style.backgroundColor);document.body.style.backgroundColor='black';}else{alert('test');}">linkhere</a> 
0
<a href="#" onclick="javascript:if(document.body.style.backgroundColor!='black'){document.body.style.backgroundColor='black';}else{alert('test');}">linkhere</a>