我试图在几个小时内找到答案,但我发现的所有问题都没有解决我的问题我有一堆嵌套的无序列表,在最后一级有一个跨度中的值
<ul>
<li>
<a>
<span>0</span>
</a>
<ul>
<li>
<a>
<span>0</span>
</a>
<ul>
<li>
<a>
<span>1</span>
</a>
</li>
<li>
<a>
<span>2</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a>
<span>0</span>
</a>
<ul>
<li>
<a>
<span>0</span>
</a>
<ul>
<li>
<a>
<span>5</span>
</a>
</li>
<li>
<a>
<span>6</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想将此值与上述元素相加我的代码如下所示。
$($("li a span").get().reverse()).each(function()
{
var itemValue = parseInt($(this).text());
var parentSpan = $(this).parent().parent().parent().parent().find("a span:first");
var parentVal= parseInt(parentSpan.text());
parentVal=parentVal + itemValue;
parentSpan.text(parentVal.toString());
});
这导致以下结果
28 <-- here is the problem ...
3
1
2
11
11
5
6
第一个 li 也将同一级别中的所有其他 li 相加,我期望的是,只有子级别应该像第二部分一样汇总到父级别
预期结果:
3 <-- this should only count childs not same level elements
3
1
2
11
11
5
6
非常感谢任何帮助
提前谢谢唐