为了账号安全,请及时绑定邮箱和手机立即绑定

使用 JQuery 删除空的 tbody

使用 JQuery 删除空的 tbody

www说 2021-09-30 19:27:32
我的<tr class="form-items">HTML 代码中有很多项目,我想删除那些<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>
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

搜索 DOM 中的第一个元素(如果存在)及其子内容 是空的然后删除它,如果不是退出循环。


console.log('Before deletion', document.body.innerHTML)

while (true) {

  var elem = document.getElementsByTagName('tbody')[0];

  if (elem && !elem.innerHTML.trim()) {

    elem.parentNode.removeChild(elem);

  } else {

    break

  }

}

console.log('After deletion', document.body.innerHTML)

或者更好的方法是先获取所有元素,然后循环遍历它们。


const tbodyElements = document.getElementsByTagName('tbody')

for (let i = 0; i < tbodyElements.length; i++) {

  if (!tbodyElements[i].innerHTML.trim()) {

    tbodyElements[i].parentNode.removeChild(tbodyElements[i]);

  }

}


查看完整回答
反对 回复 2021-09-30
  • 2 回答
  • 0 关注
  • 364 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信