javascript - 使用 JQuery 删除空 tbody
问题描述
我的 HTML 代码中有很多<tr class="form-items">
项目,我想删除那些<tbody>
标记为空的 tr。
我试过$("tbody:empty").closest('.form-items').remove()
了,但这不是好的解决方案。
<tr class="form-items">
<td colspan="3" class="forms-group">
<table class="from-item-category">
<tbody>
</tbody>
</table>
</td>
</tr>
<tr class="form-items">
<td colspan="3" class="forms-group">
<table class="from-item-category">
<tbody>
<tr class="form-item-row">
<td class="fill-form">
<a>test #1</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
解决方案
:empty:选择所有没有子元素的元素(包括文本节点)。
在您的情况下,您有文本节点。因此,您的选择器无法工作。
使用这种其他方法(没有行的 tbody):
$("tbody:not(:has(tr))")
片段:
$("tbody:not(:has(tr))").closest('.form-items').remove();
console.log($('table')[0].outerHTML)
.as-console {
height: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr class="form-items">
<td colspan="3" class="forms-group">
<table class="from-item-category">
<tbody>
</tbody>
</table>
</td>
</tr>
<tr class="form-items">
<td colspan="3" class="forms-group">
<table class="from-item-category">
<tbody>
<tr class="form-item-row">
<td class="fill-form">
<a>test #1</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
推荐阅读
- python - AttributeError: 'tuple' 对象没有属性 'ndims',同时使用 tensorflow 急切执行模式
- time - 正确的CUDA程序执行时间
- firebase - 无法在 Firestore onCreate Cloud 函数中获取所有文档
- java - 如何在文本区域打印文件内容?
- angular - Angular7+,*ngFor 每行 X 数量的项目,最佳实践
- javascript - 使用角度和节点设置代理时出现问题
- javascript - 在折线图顶部显示值
- python - Google Colab 上的深度学习:加载大型图像数据集很长,如何加速这个过程?
- excel - Excel VBA循环遍历outlook html中的所有超链接并复制到excel
- python - Python - 替换字符串中的所有单词,除了一些