Подсчет элементов с пустым атрибутом - PullRequest
0 голосов
/ 15 ноября 2018

Мне нужно перебрать элементы и подсчитать, сколько из них имеют пустой атрибут data-v:

<div data-v="" style="height: 0px"></div>

Я пробовал этот бит, похоже, не работает:

$(".myEm").each(function() {
    var cnt = $(this).find("div[data-v!='']").length;
});

Чего мне не хватает?

1 Ответ

0 голосов
/ 15 ноября 2018

Ваш селектор ищет элементы, которые не имеют пустой атрибут. Вот демонстрация, показывающая некоторые из каждого типа, и один запрос с селектором, использующим «not» (!) и один без него, и результирующий счетчик:

$(function() {
  $(".myEm").each(function() {
    var cnt = $(this).find("div[data-v!='']").length;
    console.log(cnt);
    var cnt2 = $(this).find("div[data-v='']").length;
    console.log(cnt2);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myEm">
  <div data-v="" style="height: 0px "></div>
  <div data-v="" style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
</div>

Поэтому вам нужно изменить свой код или разметку так, как вам удобно, чтобы получить желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...