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

时间:2019-01-28 04:09:58

标签: javascript jquery html-table

我正在基于一些外部数据生成一个表。每行我返回的列中都没有数据。我想删除所有单元格为空的行。我发现一些代码可以在一个单元格为空但删除一个单元格的情况下删除该行。我想删除第一行和第三行。

我已经尝试过了,但是它删除了所有行:

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

2 个答案:

答案 0 :(得分:4)

只需修改脚本即可遍历tr而不是td元素。

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

$("tr").each(function() {
  if (!$(this).text().trim()) {
    this.remove();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<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>
</table>

答案 1 :(得分:1)

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

my graph (in csv file):
node1,node2,attr1,attr2
S,A,2,2
A,S,2,2
S,B,3,5
B,S,3,5
S,C,3,6
C,S,3,6
B,D,4,5
D,B,4,5
A,C,2,2
C,A,2,2
C,D,7,6
D,C,3,4
C,D,3,4
C,T,5,8
T,C,5,8
D,T,4,7
T,D,4,7

my code is:
def embedding(graph, start, end, nref, lenAttr):
    embed = []
    for index in range(lenAttr):
        f = []
        for ref in nref:
            f1 = dijsktra(graph, start, ref, index)
            f2 = dijsktra(graph, end, ref, index)
            f.append(f1-f2)
        d = tuple(abs(x) for x in f)
        embed.append(max(d))
    return tuple(embed)

http://jsfiddle.net/1g7hqkvb/