如何从元素中删除内容?

时间:2014-05-08 13:54:54

标签: javascript jquery html

我有div,内容如下所示:

<div class="container">
    &nbsp;
    <div class="eventSpot bg-blue"></div>
    <div class="eventSpot bg-blue"></div>
    <div class="eventSpot bg-red"></div>
</div>

&nbsp;导致一些样式问题,因此我需要删除它。

如何使用jQuery / javascript删除该部分内容?

4 个答案:

答案 0 :(得分:5)

使用jQuery:

var div = $('div.container');
div.html(div.html().replace(/^\s*&nbsp;/m, ''));

答案 1 :(得分:1)

如果可能的话,我更喜欢使用节点而不是html作为字符串,所以我建议像这样:

http://jsfiddle.net/p7v89/

$('.container').contents().filter(function() {
    return this.nodeType == 3
}).remove();

这将找到所有文本节点并将其删除。

答案 2 :(得分:0)

您也可以尝试.detach()方法。

var $data = $('.container > div').detach();
$('.container').empty().html($data);

答案 3 :(得分:0)

您将获得不带HTML标签和&nbsp等的文本

这是HTML标记和&nbsp等的解决方案,您可以删除和添加条件

convertHtmlToText(passHtmlBlock)
{
   str = str.toString();
  return str.replace(/<[^>]*(>|$)|&nbsp;|&zwnj;|&raquo;|&laquo;|&gt;/g, ' ');
}