Roa*_*rth 46

尝试:

$('p')
    .filter(function() {
        return $.trim($(this).text()) === '' && $(this).children().length == 0
    })
    .remove()
Run Code Online (Sandbox Code Playgroud)

它的作用是找到所有<p>没有任何内容的s,并将它们从DOM中删除.

  • 请注意,这也将删除<p> <img rel="nofollow noreferrer" src ="..."> </ p> (8认同)
  • @Greg` return $ .trim($(this).text())===''&& $(this).children().length == 0`将起作用. (4认同)

Jan*_*son 15

正如Greg上面提到的那样,测试修剪后的.text()将删除没有文本的段落,但是有一个像<img>标签一样的自包含元素.要避免,请修剪.html()返回.由于文本被视为DOM中的子元素,因此您将被设置.

$("p").filter( function() {
    return $.trim($(this).html()) == '';
}).remove()
Run Code Online (Sandbox Code Playgroud)