Я пытаюсь найти способ получить детей из списка. Я пробовал разные способы, но не могу получить правильную сумму. Я получаю общее количество детей вместо количества детей для определенного значения клика. Вот пример кода:Поиск количества детей в списке
<li class="category">First
<ul style="display: none;">
<li class="category_sub">1</li>
<li class="category_sub">2</li>
<li class="category_sub">3</li>
</ul>
</li>
<li class="category">Second
<ul style="display: none;">
<li class="category_sub">1</li>
<li class="category_sub">2</li>
<li class="category_sub">3</li>
<li class="category_sub">4</li>
</ul>
</li>
<li class="category">Third
<ul style="display: none;">
<li class="category_sub">1</li>
<li class="category_sub">2</li>
<li class="category_sub">3</li>
<li class="category_sub">4</li>
<li class="category_sub">5</li>
</ul>
</li>
Вот Javascript:
$('.category').click(function(){
if($(this).hasClass('active')){
$('.category').removeClass('hide');
$(this).removeClass('active');
$(this).parent().find("ul").hide();
}else if(!$(this).hasClass('active') && !$(this).hasClass('hide')){
$('.category').addClass('hide');
$(this).removeClass('hide');
$(this).addClass('active');
$(this).parent().find("ul").toggle();
$(this).parent().find("ul").css({"padding-top":"15px"});
alert($(this).parent().find('ul').children().length);
}
});
Вот некоторые CSS:
.category_sub{
list-style-type: none;
width: 100%;
padding-left: 20px;
height: 40px;
}
.category_sub:hover{
background-color: #aaa;
cursor: pointer;
}
.category{
list-style-type: none;
width: 100%;
padding-left: 0px;
height: 40px;
color: black;
}
.category.hide{
display: none;
}
.category.active{
background-color: #aaa;
}
Вот является Jsfiddle: https://jsfiddle.net/1svvm69r/
Теперь, когда я нажимаю во-первых, я ожидаю увидеть 3, но я получаю 12. Он подсчитывает всех детей, а не значение, которое было нажато. Если вы посмотрите на JS, вы увидите, что я предупреждаю метод, чтобы получить значение. Какие-либо предложения?
Используйте это предупреждение ($ (это) .find ('ул li ') .length); вы выбираете parent.so wats, происходящий здесь, jquery найдет родителя li с классом. category, который является родительским ul, который содержит все ваши списки, и внутренняя ul's.so u получает все списки. Чтобы избежать просто использовать текущий li, чтобы найти все списки – sundar