У меня есть некоторый произвольный текст тела в контейнере. Я не контролирую его, поэтому не знаю его структуры. Но что-то вроде этого:
<div id='content-area'>
<h1>Heading</h1>
<p>A paragraph or two</p>
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
Это простой пример для иллюстрации, на самом деле он может содержать гораздо больше элементов и вложенных элементов, таких как таблицы.
Я хочу вытащить весь текст и сделать некоторую обработку на словах. Я использую следующий jQuery для получения текста.
$('#content-area').text()
// HeadingA paragraph or twoitem 1item 2
Проблема в том, что между каждым помеченным элементом нет пробелов. В документации говорится:
Из-за различий в парсерах HTML в разных браузерах возвращаемый текст может меняться в новых и других пробелах.
И все мои поиски, похоже, подтягивают результаты для удаления пробелов. Есть ли способ вытащить весь текст и сохранить пространство между элементами? Нужно происходить в браузере, поэтому методы javascript-ish.