Отметка найденных вхождений

148
15 сентября 2017, 22:30

Написал функцию поиска по каталогу, нужно сделать так что бы каждое совпадение в строке отмечалось например красным цветом. Понимаю, что нужно найти подстроку и заменить её на такую же, с обёрткой и классом например .selected-text, но не получается реализовать, подскажите, как можно решить эту проблему.

$(document).ready(function() { // живой поиск по каталогу
  var filter  = $('.filter__search');
  $(filter).keyup(function () {
    var filterText = $(this).val();
    if (filterText === '' || isNumeric(filterText) || filterText.length < 3) {
      $('.tree-block__item').hide();
    } else {
      $('.tree-block__item').each(function() {
        if ($(this).text().search(new RegExp(filterText, 'i')) < 0) {
          $(this).hide();
        } else {
          $(this).show();
        }
      });
    }
  });
  function isNumeric(n) { // проверка на число
    return !isNaN(parseFloat(n)) && isFinite(n);
  }
});
Answer 1

попробуйте так:

 $("p").each(function() {
    var $str = 'sit';
        var text = $(this).text();
        text = text.replace($str, "<span style='background-color:yellow'>"+$str+"</span>");
        $(this).html(text);
        });
READ ALSO
Вывод категорий и пунктов меню из разных таблиц БД

Вывод категорий и пунктов меню из разных таблиц БД

ЗдравствуйтеПоставлена задача, вытащить из ДБ некий список с категориями

215
Как написать правило для .htaccess?

Как написать правило для .htaccess?

ЗдравствуйтеЕсть папка reports, в ней есть файлы report-(номер отчета)

174
MySQL JSON пересортировка ключей объекта

MySQL JSON пересортировка ключей объекта

Как не допускать сортировку ключей объекта при записи в бд MySQL JSON? Есть много вещей где сохранение порядка ключей очень важноНапример другие...

315
Проблема с включением в скрипт шаблонов с одинаковыми функциями

Проблема с включением в скрипт шаблонов с одинаковыми функциями

Всем приветВсю голову сломал, помогите советом

270