JQuery: как удалить текст, но не элементы children Можно ли удалить с помощью jQuery только текст в node, но не в дочерних элементах? спасибо Ответ 1 Вот моя идея: function removeText(element){ var newElement = $('<' + element[0].nodeName + '/>'); element.children().each(function(){ newElement.append(this); }); element.replaceWith(newElement); } Ответ 2 Лучшее и простое решение для удаления всех текстовых элементов из определенного div $("#firstDiv").contents().filter(function(){ return (this.nodeType == 3); }).remove(); Ответ 3 Это работает для меня: $(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> до свидания Ответ 4 вы не можете этого сделать. Если он не обернут элементом. Ответ 5 $('#someElement').text('');
Ответ 1 Вот моя идея: function removeText(element){ var newElement = $('<' + element[0].nodeName + '/>'); element.children().each(function(){ newElement.append(this); }); element.replaceWith(newElement); }
Ответ 2 Лучшее и простое решение для удаления всех текстовых элементов из определенного div $("#firstDiv").contents().filter(function(){ return (this.nodeType == 3); }).remove();
Ответ 3 Это работает для меня: $(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> до свидания