Ответ 1
Вот моя идея:
function removeText(element){
var newElement = $('<' + element[0].nodeName + '/>');
element.children().each(function(){
newElement.append(this);
});
element.replaceWith(newElement);
}
Можно ли удалить с помощью jQuery только текст в node, но не в дочерних элементах?
спасибо
Вот моя идея:
function removeText(element){
var newElement = $('<' + element[0].nodeName + '/>');
element.children().each(function(){
newElement.append(this);
});
element.replaceWith(newElement);
}
Лучшее и простое решение для удаления всех текстовых элементов из определенного div
$("#firstDiv").contents().filter(function(){
return (this.nodeType == 3);
}).remove();
Это работает для меня:
$(elem).html($(elem).html().replace($(elem).text(),''));
Это устанавливает содержимое html без текстового содержимого, это означает, что любой тег html внутри элемента будет сохранен без изменений.
перед:
<div>Hello<input type="text" name="username" value="world!"/></div>
после
<div><input type="text" name="username" value="world!"/></div>
до свидания
вы не можете этого сделать. Если он не обернут элементом.
$('#someElement').text('');