jQuery / CSS - Как узнать количество элементов в стиле CSS? - PullRequest
0 голосов
/ 12 сентября 2011

Мне нужно найти КОЛИЧЕСТВО всех экземпляров ТОЛЬКО * <li style="display:none;"> ПОД ТОЛЬКО * <ul id="bob">, так как у меня будут другие <li> части по всему документу:

e.g.:

<ul>
  <li> a </li>
  <li> b </li>
  <li> c </li>
</ul>

<ul id="bob">
  <li style="display:none;"> 1 </li>
  <li style="display:none;"> 2 </li>
  <li style="display:none;"> 3 </li>
  <li style="display:inline-block;"> 4 </li>
  <li style="display:inline-block;"> 5 </li>
  <li style="display:inline-block;"> 6 </li>
</ul>

Сумма<li> генерируются в моем скрипте динамически, поэтому в данном случае это не очевидное, видимое число, например «3».

Ответы [ 4 ]

2 голосов
/ 12 сентября 2011

Использование jQuery :hidden должно работать в этом случае.

alert( $("#bob li:hidden").length );
1 голос
/ 12 сентября 2011
$('#bob li[style*="display:none"]')

Это найдет все ваши элементы li внутри #bob с атрибутом стиля, содержащим слово "display: none".

var elements = $('#bob li[style*="display:none"]');

elements.length;

Это даст вам количество найденных элементов.

Вы можете увидеть эту скрипку здесь.

0 голосов
/ 12 сентября 2011

$('#bob > li:hidden').length должен делать.

Соответствующие ссылки:

  • : скрытый селектор
  • .size() :

    свойство .length является предпочтительным, поскольку оно не содержит служебных данных при вызове функции

0 голосов
/ 12 сентября 2011

вы можете использовать jquery size

$ ("# bob li"). Is (': hidden'). Size ()

...