在jQuery中,要删除div中的所有HTML

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

我怎样才能做到这一点?

你想使用空的函数:

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

我不认为empty()html()是你在找什么。 我想你正在寻找像PHP中的strip_tags 。 如果你想这样做,比你需要添加这个function:

 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> 

另一种方法是将html设置为空string:

 $('#mydiv').html(''); 
 var htmlJ = $('<p><span>Test123</span><br /><a href="http://www.google.com">goto Google</a></p>'); console.log(htmlJ.text()); // "Test123goto Google" 
  function stripsTags(text) { return $.trim($('<div>').html(text).text()); } 

假设你有这样的HTML

 <div class="prtDiv"> <div class="fist"> <div class="hello">Hello</div> <div class="goodbye">Goodbye</div> </div> </div> 

如果你想在“第一”div所有的HTML永久删除。 就用这个吧

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

结果会是这样的

 <div class="prtDiv"> <div class="fist"> </div> </div> 

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

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