Показать сообщение отдельно
  #5 (permalink)  
Старый 11.03.2023, 11:38
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

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