Ответ 1
Вы хотите использовать функцию empty:
$('#mydiv').empty();
У меня есть div, и я хочу удалить весь HTML внутри этого div.
Как я могу это сделать?
Вы хотите использовать функцию empty:
$('#mydiv').empty();
Я не думаю, что empty()
или html()
- это то, что вы ищете. Наверное, вы ищете что-то вроде strip_tags
в PHP. Если вы хотите сделать это, вам нужно добавить эту функцию:
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 в пустую строку:
$('#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>
если вы хотите, чтобы весь html под "первым" div удалялся постоянно. просто используйте это
$('.first').empty();
Результат будет таким:
<div class="prtDiv">
<div class="fist">
</div>
</div>
для временного (если вы хотите добавить их снова), мы можем попробовать detach() как
$('.first').detach();