Jquery каждый не тянет все элементы с выбранным именем класса - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть страница с окном поиска и 5 Boostrap Cards. Я сделал так, чтобы карточки были спрятаны, если вы ищете в поле, и текст не соответствует тексту в атрибуте data-tags. Это работает, за исключением того, что не тянет карты. Он тянет карты только под первый контейнер card-deck. Он игнорирует все карты под второй. Я намеренно сделал атрибут data-tags как «ничто», а затем попытался найти:

enter image description here

enter image description here

Я сделал скрипку JS: https://jsfiddle.net/perezdev/krdgmuf4/7/

Если вы ищете «isol», должна появиться только первая карточка, так как эта фраза соответствует атрибуту:

enter image description here

Вот ядро ​​JS / Jquery:

$(".card").each(function () {
    var tags = $(this).attr('data-tags');

    if (tags !== undefined && tags !== null) {
      var matchIndex = tags.indexOf(text);
      if (matchIndex > -1) {
        $(this).show();
      }
      else {
        $(this).hide();
      }
    }
  });

Есть идеи, что я здесь делаю не так?

1 Ответ

1 голос
/ 08 апреля 2019

Возможно, попробуйте поместить data-tags в элемент card вместо элемента card-deck.Текущий код читает этот атрибут из card:

$(".card").each(function () {
    var tags = $(this).attr('data-tags');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...