jQuery删除<p> <br/> <br/> </p>

时间:2014-12-13 00:20:14

标签: html jquery

要移除的jQuery是什么。

<p>
    <br>
    <br>
</p>

我有这个

$('p').each(function () {
    if ($.trim($(this).html()) === '<br>') $(this).remove();
});

删除

<p>
    <br>
</p>

但是添加了另外一个br

$('p').each(function () {
    if ($.trim($(this).html()) === '<br><br>') $(this).remove();
});

不起作用。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

作为一种更通用的方法,请尝试以下方法:

$("p").each(function() {
    var $this = $(this);
    if( $.trim($this.text()) == "") $this.remove();
});

这将删除所有只有文本内容为空格的段落 - 换句话说,“空”段落元素。

请注意,如果您有一个仅包含图片的段落,这可能有点过于热心。您可能需要稍微调整以适应这种情况。

答案 1 :(得分:1)

试试这个,见输出

它将删除包含换行符的每个p标记

&#13;
&#13;
$("p").each(function(){
    if($(this).find('br').length)
     $(this).remove();
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
 this is<br/>
  with line breaks<br/>
  remove this p tag
  </p>

<p>
no breaks
  </p>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我发布了原始问题,由于某种原因,我将其作为未注册用户。第一个答案有效,但我不能选择它作为答案或投票。 :-(我也想知道在一个段落标签中包含一个img以便以防万一。

不幸的是,在我的情况下第二个答案是行不通的,因为它会删除我使用的论坛(并且无法访问源)的合法段落自动添加br标签合法段落