Сообщение от Сергей Ракипов
|
Просто накидайте как это сделать.
|
С помощью NodeIterator (
https://developer.mozilla.org/en-US/...I/NodeIterator) перебираем все текстовые узлы. В каждом узле ищем заданную строку. Если нашли делим этот узел, что бы выделить найденную часть текста с помощью методов интерфейса CharacterData (
https://developer.mozilla.org/en-US/.../CharacterData)
Далее оборачиваем каждую найденную подстроку в span для ее подсветки Сохраняем массив этих элементов. Отмечаем текущий элемент классом. При перемещении по найденным просто переставляем класс текущего на нужный элемент.
Ну и сделать обратную операцию снятия подсветки. Вытащить из этих спанов текст, а сам span удалить.
Не так и сложно. Просто плотная работа с DOM.