Задать вопрос
@Robert_Norton

Как сделать фильтрацию результатов по поиску?

Есть выведеные блоки с заголовком и текстом, нужно сделать фильтр который находит похожые фразы только в заголовках и показывать эти блоки, остальные скрывать.
У меня получилось находить фразы, только скрывает у меня заголовок а текс параграфа остается виден. Как сделать что бы скрывало и его.?
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelector('#filter-input').addEventListener('input', e => {
  const val = e.target.value.toLowerCase();

  container.querySelectorAll('.title').forEach(n => {
    n.closest('.card').style.display = n.innerText.toLowerCase().includes(val)
      ? 'block'
      : 'none';
  });
});

или

document.getElementById('filter-input').oninput = function() {
  const val = this.value.toLowerCase();

  for (const n of container.getElementsByClassName('title')) {
    let card = n;
    while (!(card = card.parentNode).classList.contains('card')) ;
    card.hidden = n.textContent.toLowerCase().indexOf(val) === -1;
  }
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы