2012-05-23 60 views
0

我想使用javascript例如元素的背景顏色發送到功能:以什麼我必須做的返回背景顏色點擊的元素JS

<td style="background-color:#ff0000" onClick="getColor()"></td> 

任何人都可以,請給我一個指針getColor()函數?

+1

可能重複[如何獲得使用JavaScript元素的背景顏色?(http://stackoverflow.com/questions/ 1887104 /如何獲取背景顏色的元素使用JavaScript) –

+0

@BarryKaye這不是一個重複的因素,該文章適用於單個元素,我想使用相同的功能在onclick方法爲多個元素獲取其背景顏色 – Anomaly

回答

2

更改爲:

<td style="background-color:#ff0000" onClick="getColor(this)"></td> 

,這將是javasctipt:

getColor(elem){ 
    alert(elem.style.backgroundColor); 
} 
+0

謝謝,這個工程,除了它打印rgb(x,x,x)。我可以得到一個十六進制值嗎?喜歡:#ff0000 – Anomaly

2

如果jQuery是確定:

<td style="background-color:#ff0000" onClick="getColor(this)"></td> 
<script> 
function getColor(element) { 
    var bgColor = $(element).css('background-color'); 
    // ... do something with bgColor here... 
} 
</script> 
+0

我寧願使用JavaScript,你知道如何做同樣的js? – Anomaly

+0

sans481和Christian Kuetbach用普通的javascript解決了你的問題。 – lanzz

+0

Thanx我看到,但它打印出一個值,如:rgb(x,x,x)。我可以改爲十六進制值嗎?喜歡:#ff0000 – Anomaly

1

修改調用發送的對象爲PARAM 。像這個 -

<td style="background-color:#ff0000" onClick="getColor(this)"></td> 

而且功能會爲─

function getColor(obj){ 
var bgColor = obj.style.backgroundColor; 
alert(var); 
} 
+0

非常感謝,雖然它打印了一個像rgb(x,x,x)這樣的值,但這有所幫助。我可以以某種方式得到一個十六進制值,例如。 #FF0000? – Anomaly

+0

您使用哪個瀏覽器?對於我在IE中,它返回#ff0000。 – sgowd

+0

我使用chrome,當我創建_alert(obj.style.backgroundColor)_它顯示一個警告框,指出rgb(x,x,x)。我在IE中測試它,你是對的,我會嘗試解析對象,並重新分配接收到的值爲元素的顏色 – Anomaly