2014-04-05 34 views
0

我正在使用以下行來有條件地更改TD的背景顏色。 這適用於IE和Firefox,但在Chrome中並沒有設置任何顏色。jQuery:簡單的.css行改變背景顏色在Chrome中不起作用

我也嘗試使用rgb(255,255,0)代替Chrome,但使用相同的結果,使用版本33.0.1750.154 m,這似乎是最新的版本。

有沒有一種方法可以在所有三種瀏覽器中完成這項工作?

我的代碼片段:

$('.search').click(function() { 
    var value = $(this).text(); 
    var color = $(this).css('background-color'); 
    if(color == 'transparent') { 
     $('td') 
     .css('background-color', '') 
     .filter(function(){ 
      return $(this).text() === value; 
     }) 
     .css('background-color', 'yellow'); 
//... 

在此先感謝,蒂姆。

+0

似乎爲我工作。有沒有相關的代碼丟失? – Senju

+0

是的:http://jsfiddle.net/6yFeg/1我敢打賭,css表格或html是usng'myclass'。區分大小寫。 –

+0

在你的小提琴中,背景是不是黃色? – Senju

回答

0

它看起來像檢查的「透明」設置背景前顏色是問題,因爲只有IE和FF以這種方式返回顏色,而Chrome返回rgba(0,0,0,0)。

我改變了,如果行,如下這對我的作品 - 不知道是否會RGB工作以及:

//... 
if((color == 'transparent') || (color == 'rgba(0, 0, 0, 0)')) { 
/... 
1

如果可以,請首先檢查是否有任何錯誤發生,您可以查看控制檯..如果沒有找到錯誤,請檢查css選擇器時檢查元素是否選擇藍色... if不,嘗試設置寬度和高度..如果現在,嘗試設置溢出:隱藏,.. 如果仍然存在問題,請嘗試在css文件中設置bg顏色和類,如果工作正常,您可以嘗試添加類似

.testColor{ 
background-color: yellow; 
} 

jQuery(".myClass").addClass("testColor"); 

好運

+0

謝謝。我在上面擴展了我的代碼。問題可能是檢查透明背景顏色,也許Chrome不會以這種方式識別它? – user2571510