使用 JQuery 删除空的 tbody

我的<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>


www说
浏览 365回答 2
2回答

慕勒3428872

搜索 DOM 中的第一个元素(如果存在)及其子内容 是空的然后删除它,如果不是退出循环。console.log('Before deletion', document.body.innerHTML)while (true) {&nbsp; var elem = document.getElementsByTagName('tbody')[0];&nbsp; if (elem && !elem.innerHTML.trim()) {&nbsp; &nbsp; elem.parentNode.removeChild(elem);&nbsp; } else {&nbsp; &nbsp; break&nbsp; }}console.log('After deletion', document.body.innerHTML)或者更好的方法是先获取所有元素,然后循环遍历它们。const tbodyElements = document.getElementsByTagName('tbody')for (let i = 0; i < tbodyElements.length; i++) {&nbsp; if (!tbodyElements[i].innerHTML.trim()) {&nbsp; &nbsp; tbodyElements[i].parentNode.removeChild(tbodyElements[i]);&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript