2012-07-26 164 views
1

我有一个表中的四列需要红色背景只有空的字段。我编辑的数据库有所有列的一个类(.data),所以我不知道是否需要为每列添加单个类以使其工作,或者是否有通过jQuery进行区分的方法在空白单元格之间,并且只改变表格的四列中的背景颜色。如何更改表格中空单元的背景颜色?

+0

只是为了确保我理解正确,你想空细胞背景颜色红色? – Bogdan 2012-07-26 22:27:53

+0

欢迎来到StackOverflow。如果答案解决了你的问题,[你可以接受这个答案](http://meta.stackexchange.com/questions/5234)。然后,您也可以用灰色向上箭头向上投票一个或多个答案。 – 2012-07-26 23:15:54

回答

0

你想要什么是很容易的:

  • 对于表中
  • 每个<td>如果<td>不包含文本
  • 更改为红色

backgroundColor这给出了:

$('td').each(function() { 
    if ($(this).text() == '') { 
     $(this).css('backgroundColor', 'red'); 
    } 
}); 

它使用jQuery选择的功率的另一个短的方式:

$('td:empty').css('backgroundColor', 'red'); 

这是同样的事情,只是短。

完成后,您可以遇到一个特殊情况:如果您的代码使用空格进行缩进,即使您的<td>不包含文本,jQuery也会说您的<td>不为空。为了解决这种情况下,用这个小代码:

$('td').text($.trim($('td').text())); 

$.trim()删除无用的空格。

Try this demo to understand

在你的情况下,应用它像:

$('td').each(function() { 
    $(this).text($.trim($(this).text())); 
    if ($(this).text() == '') { 
     $(this).css('backgroundColor', 'red'); 
    } 
}); 
2

一个非常简单的做这件事的办法是:

$("td:empty").css('background-color', 'red'); 
相关问题