Я хочу удалить пустые элементы из некоторой строки html. Я знаю, что я мог запустить что-то вроде:Рекурсивно удалить пустые узлы из html
$('p').each(function(index, item) {
if($.trim($(item).text()) === "") {
$(item).remove();
}
});
Проблема заключается в том, что я хочу, чтобы удалить все пустые узлы - не только р. Также я хочу, чтобы сценарий рассматривал p-узел в <p><span></span></p>
как пустой, поскольку он содержит только пустые элементы. У вас есть простая реализация чего-то подобного?
[EDIT] Я забыл добавить: я могу использовать jQuery, но html, который я хочу перемещать и редактировать, - это строка, а не фактический документ. Итак, как я могу сделать эту операцию? Я попытался с помощью var html = $.parseHTML('<p><span></span></p>')
, но после каждого цикла я все еще получаю ту же строку ...
Чтобы выбрать все элементы, $ ('*'), но будьте осторожны с что было бы безопаснее иметь список элементов, который имеет смысл удалить, например, $ ('p, h1, h2') или что-то подобное, так как вы можете не захотеть удалить тегили
. Что касается вложенных элементов, я не уверен. – ivarni
См. Это http://jsfiddle.net/LEKaL/6/ – Roopendra
Должен ли элемент, содержащий только табуляции, строки новой строки и другие пустые теги, быть пустыми? (например, '
\ n \ n
') –