Jquery css选择器如果没有数据则应用样式

时间:2014-05-21 06:16:32

标签: javascript jquery css

大家好,我有一个重复的表,有很多TR行,看起来像这样:

<table>     
 <tr class="RowStyle" style="background-color:White;">
         <td>field 1</td>
         <td>field 2</td>
         <td>field 3</td>
         <td class="selector">field 4</td>
         <td>field 5</td>
  </tr>
 <tr class="RowStyle" style="background-color:White;">
         <td>field 1</td>
         <td>field 2</td>
         <td>field 3</td>
         <td class="selector">&nbsp</td>
         <td>field 5</td>
  </tr>
 <tr class="RowStyle" style="background-color:White;">
         <td>field 1</td>
         <td>field 2</td>
         <td>field 3</td>
         <td class="selector">&nbsp</td>
         <td>field 5</td>
  </tr>

Jquery的:

if ( $('.selector').val() = '&nbsp' ) {
    $('.RowStyle').css('background-color', 'red');
 }

我需要一些如何能够说明text = nothing或&amp; nbsp然后改变背景的风格,任何人都可以帮助我 - 这里是my fiddle ...

4 个答案:

答案 0 :(得分:2)

试试这个

$('.selector').each(function(i, element){
    if($(element).text().trim().length == 0)
    {
        $(element).parent().css('background-color', 'red');
    }
});

Fiddle Demo

答案 1 :(得分:1)

试试这个:

$('.selector').each(function(){
 if (!$(this).text().trim().length) {
   $(this).closest('.RowStyle').css('background-color', 'red');
}});

<强> Demo

答案 2 :(得分:1)

尝试,

$('.selector').filter(function(){ 
    return $.trim($(this).text()) === "" 
}).closest('tr').css('background-color', 'red');

DEMO

答案 3 :(得分:0)

if ( !$('.selector').text().length || $('.selector').html() == '&nbsp' ) {
    $(this).parent().css('background-color', 'red');
 }