如果两列中的任何一列为空,则隐藏表行

时间:2011-09-07 08:28:44

标签: jquery jquery-selectors

有一个2个圆柱表,其中每列包含另一个包含一些数据的表,我想要做的是在两个列都为空的情况下隐藏整行。任何人都可以在其上共享一些输入。

http://jsfiddle.net/m38uL/

提前致谢

3 个答案:

答案 0 :(得分:2)

您已经接近工作,但您的if声明中有错误:

if ($(this).find('.firstTab').text() == '' && (this).find('.secondTab').text() == '')

注意第二个条件中缺少$。如果.firstTab.secondTab元素中有空格,它也会失败。就个人而言,我会使用filter方法稍微改写代码,并.trim删除内容开头或结尾处的任何空格:

$(".parentRow > td").filter(function() {
       return $.trim($(this).find(".firstTab").text) == "" && $.trim($(this).find(".secondTab").text()) == "";
}).remove();

以上是上述代码的live example

答案 1 :(得分:0)

这样的事情怎么样:

// loop through each row...
$('.parentRow').each(function() {      
  var rowEmpty = true;

   // check each cell in the row to see if it's got anything in it
   $($this).find('td').each(function(){
       if($(this).html() != "")
       {
           rowEmpty = false;
       }
   });

   // if the row was empty, hide it
   if(rowEmpty)
   {
    $(this).hide();   
   }
}); 

答案 2 :(得分:0)

$(function() {
  $('.parentRow').each(function() {
    if ($(".firstTab", this).text() === '' && $('.secondTab', this).text() === '')
    {
      $(this).hide();
    }
  });
});