@SobolevVladimir

Как сделать поиск по тексту на javascript?

Имеется сайт, который представляет из себя длинный список элементов, которые имеют такую конструкцию:
<p><a href="что-то">"Какой-то текст"</a></p>
Это просто очень большой список ссылок на документы и различные ресурсы. Есть одно НО - сайт не лежит на хостинге. Человек носит его на флешке и использует только офлайн, открывая .html файл браузером. Возникла необходимость сделать поиск. Что-то вроде такого - ищутся совпадения по вбитому тексту среди текста в тэгах (Как я указал выше) и если нашлись совпадения - то тэг остается, а у всех остальных срабатывает свойство display: none, или вроде того. Как можно реализовать что-то подобное? Или, если у вас есть идея получше, предложите её, пожалуйста.
Заранее огромное спасибо Вам.
  • Вопрос задан
  • 5487 просмотров
Решения вопроса 2
coderisimo
@coderisimo Куратор тега JavaScript
Вот основной принцип :

https://codepen.io/coderisimo/pen/RyvPBr

фильтруется прямо в момент ввода текста.
Ответ написан
LenovoId
@LenovoId
I want, women not to get sick
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Coder321
const search = document.querySelector('#search');
const allLinks = document.querySelectorAll('#container>p>a');
search.onkeyup = function (event) {
    const regex = new RegExp(event.target.value.toLowerCase());
    allLinks.forEach(element => {
        if (regex.test(element.textContent.toLowerCase())) {
            element.style.display = '';
        } else {
            element.style.display = 'none';
        }
    })
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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