我的输出内容如下
<ul>
<li>
Songs
<ul>
<li>
Genre
<ul>
<li>
Country
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>
Songs
<ul>
<li>
Genre
<ul>
<li>
Pop
</li>
</ul>
</li>
</ul>
</li>
</ul>
请忽略为什么这样显示内容。我的问题是,如何使用jQuery删除重复的父母<li>
,<ul>
所以它看起来像这样
<ul>
<li>
Songs
<ul>
<li>
Genre
<ul>
<li>
Country
</li>
<li>
Pop
</li>
</ul>
</li>
</ul>
</li>
</ul>
我尝试过unwrap()方法,但是不知道将其放置在<li>
何处的逻辑。
我会得到我需要的东西并重新编写它,假设整个东西周围都有某种容器,只需要重写中间部分即可。代码可能更简洁,但效果很好。
<div>
<ul>
<li>
Songs
<ul>
<li>
Genre
<ul>
<li>
Country
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>
Songs
<ul>
<li>
Genre
<ul>
<li>
Pop
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<script>
var li='';
$.each($("li:contains('Genre') ul li"), function(i, e){
item=$(e).children('ul').text().replace(/\n/g,'').trim()||'';
if (item.length!=0){
li+='<li>'+item+'</li>';
};
});
if (li.length!=0){
var html='<ul><li>Songs<ul><li>Genre<ul>'+li+'</ul></li></ul></li></ul>';
$('div').html(html);
};
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句