This question учит, как получить все текстовые поля внутри документа, и это также дает мне тексты Javascript. Каков наилучший способ отфильтровать все Узлы, которые являются Javascript-кодом?Использование TreeWalker для извлечения текстовых узлов, отличных от Javascript
0
A
ответ
4
Текст внутри <script>
теги имеют только одно: их родитель является элементом <script>
.
if (node.parentNode.nodeName !== 'SCRIPT')
Другой подход заключается в использовании фильтра:
var rejectScriptTextFilter = {
acceptNode: function(node) {
if (node.parentNode.nodeName !== 'SCRIPT') {
return NodeFilter.FILTER_ACCEPT;
}
}
};
var walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_TEXT,
rejectScriptTextFilter,
false
);
var node;
var textNodes = [];
while(node = walker.nextNode()) {
textNodes.push(node.nodeValue);
}
console.log(textNodes);
<script> var str = "script here"; </script>
<p> text here </p>
0
Вы могли клонировать оригинальный document
, удалить <script>
элементы в клонированной document
, а затем перебирать оставшиеся узлы клонировали document
Смежные вопросы
- 1. Regex для извлечения текстовых узлов XML
- 2. Свойства текстовых узлов JavaScript
- 3. Использование Raphael JS для создания текстовых узлов
- 4. Использование System.Json для проектов, отличных от Silverlight?
- 5. Использование networkx для извлечения всех ребер, общих для определенных узлов
- 6. Использование «Использование» для вещей, отличных от утилизации ресурсов
- 7. Использование sqlsrv_connect на платформах, отличных от Windows
- 8. Использование структур данных приложений, отличных от xml
- 9. JSON в приложениях, отличных от Javascript
- 10. Использование методов, отличных от членов в C++
- 11. Использование xsl: символьная карта только для текстовых узлов
- 12. Использование BeautifulSoup для извлечения одноуровневых узлов между двумя узлами
- 13. Использование функции LEN() на языках, отличных от символов
- 14. Использование Regex для извлечения значения из javascript
- 15. Возвращающиеся текстовых узлов
- 16. TreeWalker в Chrome Extension
- 17. Использование модели автозапуска Django для вещей, отличных от разрешений
- 18. Использование файлов ресурсов для вещей, отличных от языка
- 19. Использование объекта присваивания для удаления свойств, отличных от -ES6
- 20. Pandas - Использование 'ffill' для значений, отличных от Na
- 21. Помощь, необходимая для совместимости браузеров, отличных от IE, в JavaScript
- 22. Есть ли эквивалент getBoundingClientRect() для текстовых узлов?
- 23. XSLT для удаления пробелов из текстовых узлов
- 24. Проверка jquery для текстовых узлов siblings
- 25. Как пройти SimpleXML для редактирования текстовых узлов?
- 26. Нужен модуль python для извлечения текстовых документов
- 27. Рекурсивная функция для извлечения всех узлов листа
- 28. Ориентация текстовых узлов на CSS
- 29. Использование C препроцессор для отличных C
- 30. Исключение Treewalker, Eclipse