在jQuery中我想删除div中的所有HTML

时间:2009-03-17 03:17:41

标签: jquery

我有一个div,我想删除该div中的所有HTML。

我该怎么做?

6 个答案:

答案 0 :(得分:139)

您想使用empty功能:

$('#mydiv').empty();

答案 1 :(得分:72)

我认为empty()html()不是您想要的。我想你在PHP中寻找像strip_tags这样的东西。如果你想这样做,那么你需要添加这个功能:

jQuery.fn.stripTags = function() {
    return this.replaceWith( this.html().replace(/<\/?[^>]+>/gi, '') );
};

假设这是您的HTML:

<div id='foo'>This is <b>bold</b> and this is <i>italic</i>.</div>

然后你这样做:

$("#foo").stripTags();

这将导致:

<div id='foo'>This is bold and this is italic.</div>

答案 2 :(得分:11)

另一种方法是将html设置为空字符串:

$('#mydiv').html('');

答案 3 :(得分:0)

var htmlJ = $('<p><span>Test123</span><br /><a href="http://www.google.com">goto Google</a></p>');
console.log(htmlJ.text()); // "Test123goto Google"

答案 4 :(得分:0)

  function stripsTags(text)
  {
    return $.trim($('<div>').html(text).text());
  }

答案 5 :(得分:0)

假设您有一个像这样的HTML

$('.first').empty();

如果你想要所有html在&#34;首先&#34; div永久删除。只需使用此

<div class="prtDiv">
   <div class="first">

  </div>
</div>

结果将是这样的

$('.first').detach();

对于临时(如果你想再次添加它们),我们可以尝试像

这样的detach()
transform: rotate()