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

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

最佳答案

只需修改脚本即可迭代 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>

关于javascript - 如果所有单元格为空,则删除 html 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395429/

相关文章:

javascript - Mocha : setting varibles on `this` is antipattern?

javascript - 算法连接四个javascript

javascript - 动态禁用选择字段条件是如果我们更改另一个选择字段

jquery - 为什么标题行在我的 HTML 表格中没有显示边框?

html - 如何绘制带有对 Angular 线和对 Angular 线文本的html表格?

javascript - 如何应用 var height = $(window).height() - 20; .followTo() 函数

javascript - 使用 jQuery 验证插件 : onfocusout, onkeyup 在生产站点上无法按预期工作

javascript - 如果文本中有换行符,如何扩展 td 的宽度?

javascript - 匹配jquery中id的多个部分

javascript - 在服务器端提交消息后关闭模态弹出窗口