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();