用Jquery清除5个空TD

时间:2012-10-15 13:47:11

标签: jquery

我有一个动态表填充,我知道我不应该这样做,但你怎么会连续找到5个空TD,并隐藏它们?因此,如果行包含5个空TD,则不显示TD。

我想删除DOM中<td></td><td></td><td></td><td></td><td></td>的每个实例。不只是第一个。

我只想让5个空的TD消失,而不是所有空的TD

3 个答案:

答案 0 :(得分:5)

您可以使用:empty选择器:

$('#yourtable tr td').filter(':empty').hide();

如果您要删除包含5个空tr元素的td元素,可以使用filter方法:

$('#yourtable tr').filter(function(){
   return $(this).find('td:empty').length === 5
}).remove()

如果您只想删除前5个空的td元素,可以使用slice方法:

$('#yourtable tr td').filter(':empty').slice(0, 5).remove();

答案 1 :(得分:1)

// Grab every row in your table
$('table#yourTable tr').each(function(){
  if($(this).children('td:empty').length === $(this).children('td').length){
    $(this).remove(); // or $(this).hide();
  }
});

答案 2 :(得分:1)

以下是我如何解决这个奇怪的请求:http://jsfiddle.net/5ZGgx/

$(function()
{  
    $("table tr").each(function()
    {
        var emptyCells = $(this).find("td").filter(function()
        {
            return $.trim($(this).text()).length === 0;
        });

        if(emptyCells.length === 5)
        {
            emptyCells.hide();                
        }
    });
})​;