Подтвердить что ты не робот

Подсчет видимых divs с именем класса jquery

У меня возникли проблемы с использованием: visible с именем класса.

Пример:

<div class="groupedDiv" id="group1">
    <div class="level1">
        Apples
        <div class="level2"> || L2-apple </div>
    </div>

    <div class="level1" style="display:none;">
        Oranges 
        <div class="level2"> || [L2-orange] </div>
    </div>
</div>

<br/>

<div class="groupedDiv" id="group1">
    <div class="level1">
        Roses
        <div class="level2"> || L2-rose </div>
        <div class="level3"> l3 rose </div>
    </div>
</div>

Если я хочу подсчитать # видимых divs класса "level1"

$(".level1 :visible").length; дает мне вывод 3, не предполагается ли это вывод 2?

$(".level1 :visible").parent().length; дает мне результат 2, который правильный

Я создал этот пример в http://jsfiddle.net/metalhawk/P87jS/

Любые предложения полезны. Благодаря

4b9b3361

Ответ 1

$(".level1 :visible") - селектор потомков: вы выбираете все видимые элементы, которые являются потомками .level1. Есть три элемента div, которые видны под элементами .level1.

Используйте это вместо:

$(".level1:visible").length;

Смотрите свою скрипту за мое обновление.

Ответ 2

Довольно уверен, что вам нужно сделать $(".level1:visible").length;

Пространство разбивает код