2014-04-05 35 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