mk3mk
@mk3mk
занимаюсь вёрсткой (иногда)

Поиск по странице с подсветкой?

Всем привет!
Вот пытаюсь сделать поиск по странице.
Поиск с подсветкой найденного слова.
Поиск первого вхождения сделал, работает нормально.
А вот с поиском всех вхождений что-то не получается.
Выводит всё, но повторяет строку снова и снова.
А хотелось бы , чтобы в одной строке результата подсвечивались сразу все найденные слова...
Тут пример :
https://codepen.io/mk3mk/pen/MWWQgmP
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@Ridz
// Поиск всех вхождений
input2.oninput = function(){
let target = this.value;
let targetLength = target.length;
let marker = '<span class="marked">' + target + '</span>';
let markerLength = marker.length + 1;
let searchText = text2;
let pos = -1, idx;
if(targetLength) while((idx = searchText.indexOf(target, pos)) != -1) {
    searchText = searchText.slice(0, idx) + marker + searchText.slice(idx + targetLength);
    pos = idx + markerLength;
};
result2.innerHTML = searchText;
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы