Javascript 如果所有单元格为空,则删除html中的行

Javascript 如果所有单元格为空,则删除html中的行,javascript,jquery,html-table,Javascript,Jquery,Html Table,我正在根据一些外部数据生成一个表。我返回的列中并非每一行都有数据。我想删除所有单元格都为空的行。我发现了一些代码,可以在一个单元格为空时删除该行,但允许使用一个空单元格。我想删除第一行和第三行 我尝试过此操作,但它会删除所有行: <table border="1"> <tr> <td></td> <td></td> </tr> <tr> <td>123</td> &

我正在根据一些外部数据生成一个表。我返回的列中并非每一行都有数据。我想删除所有单元格都为空的行。我发现了一些代码,可以在一个单元格为空时删除该行,但允许使用一个空单元格。我想删除第一行和第三行

我尝试过此操作,但它会删除所有行:

<table border="1">
<tr>
 <td></td>
 <td></td>
</tr>
<tr>
  <td>123</td>
  <td></td>
 </tr>
 <tr>
  <td></td>
  <td></td>
 </tr>
<tr>
 <td>456</td>
 <td></td>
</tr>

$("td").each(function() {
  if (this.innerText === '') {
    this.closest('tr').remove();
 }    
 });

123
456
$(“td”)。每个(函数(){
如果(this.innerText==''){
this.closest('tr').remove();
}    
});

只需修改脚本以迭代
tr
元素,而不是
td

如果
tr
行的文本内容为空,则表示其所有单元格也为空。这是一个有效的演示:

$(“tr”)。每个(函数(){
如果(!$(this).text().trim()){
这个。删除();
}
});

123
456

只需修改脚本以迭代
tr
元素,而不是
td

如果
tr
行的文本内容为空,则表示其所有单元格也为空。这是一个有效的演示:

$(“tr”)。每个(函数(){
如果(!$(this).text().trim()){
这个。删除();
}
});

123
456

您可以像这样使用每个tr元素。希望能帮上忙,我的朋友:))


您可以像这样使用每个tr元素。希望能帮上忙,我的朋友:))


@mcadamsjustin您单击“运行代码段”了吗?它会删除第一行和第三行,就像你问的那样。@Mukyuu这是OP最初的设置。我在Firefox中运行了这个代码段,但没有运行。然后我在Chrome上运行了它,它成功了。看来odd@mcadamsjustin谢谢,我已经修改了代码,使其在Firefox中也能工作。添加
trim
功能以确保字符串比较中没有空格,修复了它。@mcadamsjustin是否单击了“运行代码段”?它会删除第一行和第三行,就像你问的那样。@Mukyuu这是OP最初的设置。我在Firefox中运行了这个代码段,但没有运行。然后我在Chrome上运行了它,它成功了。看来odd@mcadamsjustin谢谢,我已经修改了代码,使其在Firefox中也能工作。添加
trim
功能以确保字符串比较中没有空格,修复了它。这是可行的,但是@JonUleis首先得到了回答,感谢您的帮助help@mcadamsjustin:是的,谢谢你投票我的朋友:这很有效,但是@JonUleis首先回答,谢谢你的支持help@mcadamsjustin:是的,谢谢你投票给我的朋友:d
$('tr').filter(
    function(){
        return $(this).find('td').length == $(this).find('td:empty').length;
    }).hide();