在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();