Javascript DOM, получить текст узла без потери информации о интервале
Я использую javascript и хочу пересечь дерево HTML, получая весь текст, как он кажется пользователю. Однако я теряю информацию о интервалах.
предположим, у меня есть два документа:
<html>XXX<p>YY YY</p><html>
<html>XXX<p>YY YY</p><html>
первый появится с 1 пробелом между Ys. Второй будет 3 места. Однако, если я пересекаю дерево и для каждого узла #text использую:
text = node.nodeValue;
текст для обоих узлов будет 3 места. Я уже не знаю что есть "настоящий" мочекаменная пространства. Я могу использовать node.innerHTML для элементов p, которые будут показывать nbsp, но я не думаю, что могу использовать innerHTML для получения только текста XXX (без какого-либо вычитания текста).
я мог бы просто получить innerHTML всего документа и проанализировать его. Однако мне также нужно получить вычисленный стиль каждого элемента, который я собираюсь использовать
window.getComputedStyle(theElement).getPropertyValue("text-align");
Итак, я буду пересекать каждый узел. Кроме того, innerHTML показывает источник как есть, при прохождении узлы "исправляют" ошибки html, добавляют конечные теги и т. д. Это хорошо, и я хотел бы сохранить это.
1 ответов
Что делать, если вы тестируете с помощью charCode? Я считаю, что регулярное пространство 32
, а
is 160
.