我有一个带有子菜单的无序列表。
我有一个无序列表,我希望打印每个列表项包含的子列表项的数量,但是,我编写的函数只返回0。
如果我用类或ID替换$(this),那么它可以正常工作,但是,它会为每个列表项打印相同的编号,我需要它是动态的,返回每个列表项的.length或.size()。
你能引导我朝正确的方向前进吗?)
/*atomic mass counter*/
$(document).ready(function(mass){
var atomic = $(this).parent('li').length;
$('.atom').html(atomic);
});类.atom是每个列表项的子类,因此列表如下所示:
<ul>
<li>
<div class='atom'></div>
<ul>
<li><div class='atom'></div></li>
<li><div class='atom'></div></li>
</ul>
</li>
<li><div class='atom'></div></li>
<li><div class='atom'></div></li>
<li><div class='atom'></div></li>
</ul>这里有一个JSfiddle:https://jsfiddle.net/6gzau45r/1/
发布于 2015-03-31 17:33:34
发布于 2015-03-31 17:26:56
您必须使用.children()查看后代。您的解决方案可能类似于:
$(document).ready(function(mass){
// For each atom div
$('.atom').each(function() {
// Calculates the children li
$(this).html($(this).parent().children('ul').children('li').size());
});
});这里有一把小提琴:
https://stackoverflow.com/questions/29374533
复制相似问题