JS DOM: получить элементы по текстовому содержимому
Я ищу способ выполнить полнотекстовый поиск по дереву DOM с помощью JS. В двух словах я хотел бы получить список текстовых узлов, которые содержат данную строку.
Я пробовал mootoolsElement.getElements ( ':contains[string]' )
но я не могу заставить его работать со строками, содержащими пробелы.
РЕДАКТИРОВАТЬ: JQuery и MooTools, кажется, имеют свои:contains
операторы работают через обход дерева. Это будет означать, что нет собственного способа поиска на странице, это правильно? Кажется очень неэффективным, если страница огромна, и единственная информация о вашем элементе - это искомая строка. Я ошибся?
Я думаю об индексации всех текстовых узлов и проверке индекса для каждой искомой строки, но в моем проекте нет способа сообщить, когда обновляется DOM, чтобы поддерживать такой индекс в актуальном состоянии.
Есть идеи получше?
Спасибо