Как пометить HTML DOM TextNode - PullRequest
1 голос
/ 11 мая 2011

Я заполняю все текстовые узлы на странице, публикуя их значения узлов на удаленном сайте с помощью ajax-запроса. Когда вызывается связанный обратный вызов, я хочу как-то пометить TextNode, переданный в функцию обратного вызова, но атрибуты TextNode кажутся неизменными, кроме nodeValue.

Несколько вариантов, о которых я могу думать сейчас, так или иначе, чтобы пометить nodeValue без изменения видимого текста, используя непечатаемый символ? или обёртывание объекта / класса TextNode, удаление его из дерева dom и повторное внедрение его обратно в дерево dom?

Это выполнимо? Есть ли у вас (другие) идеи?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 мая 2011

Еще одна идея, о которой я могу подумать, это заполнить массив объектами в форме {'element': text element, 'read': 0}.Когда вы читаете в textNode, выполняйте цикл со всеми объектами в массиве, пока не найдете тот, который соответствует свойству element.Затем установите значение read в 1. Если вы хотите проверить и посмотреть, был ли прочитан текстовый элемент, вам нужно будет еще раз пройтись по массиву, пока не найдете тот, который соответствует свойству element, и посмотрите, чтозначение readЭто будет дорого, если у вас много текстовых узлов.

...