我有一个嵌套的列表,每个级别都有一些文本和一个嵌套在其中的列表。我必须在每个级别上检查文本是否相同-如果是这样,我想将元素合并在一起,这样文本就不会重复。
我的HTML:
<ul class="ordered-cat">
<li class="item-0 level-0-0">
<span class="text">dom</span>
<ul class="inner">
<li class="item-1 level-1-1">
<span class="text">kuh</span>
<ul class="inner">
<li class="item-2 level-2-2">
<span class="text">nap</span>
</li>
</ul>
</li>
</ul>
</li>
<li class="item-0 level-1-0">
<span class="text">dom</span>
<ul class="inner">
<li class="item-2 level-2-1">
<span class="text">kuh</span>
<ul class="inner">
<li class="item-3 level-3-2">
<span class="text">pri</span>
</li>
</ul>
</li>
</ul>
</li>
<li class="item-0 level-2-0">
<span class="text">dom</span>
<ul class="inner">
<li class="item-3 level-3-1">
<span class="text">kuh</span>
<ul class="inner">
<li class="item-4 level-4-2">
<span class="text">pripi</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
预期结果:
<ul class="ordered-cat">
<li class="item-0 level-0-0">
<span class="text">dom</span>
<ul class="inner">
<li class="item-1 level-1-1">
<span class="text">kuh</span>
<ul class="inner">
<li class="item-2 level-2-2">
<span class="text">nap</span>
</li>
<li class="item-3 level-3-2">
<span class="text">pri</span>
</li>
<li class="item-4 level-4-2">
<span class="text">pripi</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我的jquery尝试:
function cleanMore() {
for (i = 0; i < 7; i++) {
var myarray = [];
$('.item-' + i + '').each(function () {
var beseda = $(this).children('.text').text();
if (jQuery.inArray(beseda, myarray) !== -1) {
myarray.push(beseda);
}
});
for (j = 0; j < myarray.length; j++) {
$('.item-' + i + '').each(function () {
if () { }
});
}
}
}
我试图分别检查每个级别并检查它们的内容,但是我陷入了必须检查重复部分并将它们合并为1个元素的部分。