Javascript 隐藏包含空列的行

Javascript 隐藏包含空列的行,javascript,jquery,html-table,row,cell,Javascript,Jquery,Html Table,Row,Cell,我有一个表,有几行,每行有两列,第一列包含title,第二列包含各自的值。有时,右边的单元格可能没有值,所以只有title.没有值是没有意义的。。我可以在左侧单元格中隐藏标题,而右侧单元格中没有值,也可以隐藏整行标题 我已经想出了这个办法,但它不起作用 $('.EventDetail tr').each(function(){ if(!$('td:not(:empty)',this).length) $(this).hide(

我有一个表,有几行,每行有两列,第一列包含title,第二列包含各自的值。有时,右边的单元格可能没有值,所以只有title.没有值是没有意义的。。我可以在左侧单元格中隐藏标题,而右侧单元格中没有值,也可以隐藏整行标题

我已经想出了这个办法,但它不起作用

    $('.EventDetail tr').each(function(){      
        if(!$('td:not(:empty)',this).length)         
        $(this).hide();
}); 
这是桌子。我想知道tag是否有什么不同。或者其中一个有一个类而另一个没有..这应该导致它不工作吗

<table cellpadding="10" class ="EventDetail">
    <tr>
        <td class="TableFields"><em>Who Should Enroll?:</em></td>
        <td>Everyone 18 and older who would like to attend</td>
    </tr>       
    <tr>
        <td class="TableFields"><em>Handicapped Access:</em></td>
        <td>Yes</td>
    </tr>
    <tr>
        <td class="TableFields"><em>Parking Notes:</em></td>
        <td></td>
    </tr>
    <tr>
        <td class="TableFields"><em>Instructor:</em></td>
        <td>John Filler</td>
    </tr>
</table>

谁应该报名
所有18岁及以上想要参加的人
残疾人通道:
对
泊车须知:
教练:
约翰·菲勒
因此没有停车记录信息,因此我想隐藏包含标题“停车记录”的左侧单元格。

尝试以下操作:

$('.EventDetail tr').each(function(){      
    if ($('td:empty',this).length > 0))
    $(this).hide();
});

您的选择器将导致示例中任何一行的if语句永远不为true。
$(“td:not(:empty)”
始终选择带有标题的
元素,因此如果(!1)永远不为true,则长度始终为
1

您应该删除双负片(
:not
)以使其更清晰,然后检查长度(即匹配元素的数量)是否为
>0
。您可以尝试以下操作:

    $(document).ready(function(){
    $('.EventDetail tr').each(function(){      
        if ( $(this).children().not('.TableFields').text().length == 0 )
            $(this).hide();
    }); 
});

我认为这会奏效:

$('.EventDetail tr').has('td:nth-child(2):empty').hide()
你可以试穿。

试试看