如何使用jquery从列表中删除项目
How to remove item from list with jquery?
我的输出内容如下
<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>
放在他们应该在哪里的逻辑。
试试,
var uls = $('ul');
uls.first().find('ul:last').append(uls.last().find('li:last'));
uls.first().siblings('ul').remove();
演示我会得到我需要的东西并重写它,假设整个东西周围有某种容器只是重写中间部分。代码可以更干净,但它工作得很好。
<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>
演示:http://jsfiddle.net/886P3/
相关文章:
- 如何在NativeScript中从列表中删除项目时设置动画
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- 如何在 Angular 中使用拼接从列表中删除项目
- 如何在 ReactJS 中使用单击事件从列表中删除项目
- 从选择列表中删除项目 (Internet Explorer 10)
- Telerik 剑道下拉列表删除项目
- 使用 iCheck 回调和 jquery 从列表中删除项目
- 使用 JavaScript 和 REST 从 SharePoint 列表中删除项目
- 在 JavaScript 中通过 innerHTML 从列表中删除项目
- KnockoutJS从可观察数组中删除项目.Item 是 ul 中的列表项,由 foreach 生成
- 从列表中删除项目,淘汰.js
- 从列表中删除项目时出现问题
- 使用Javascript从待办事项列表中删除项目
- 从客户端脚本的ASP列表框中删除项目
- 如果选中,请从列表中删除项目
- 从动态html列表中删除项目
- 从列表中添加/删除项目并更新总数
- 如何删除选择标签的所有选项,并在javascript中分配一个新的项目列表来选择选项
- 在页面加载时从下拉列表中删除项目(没有jquery)
- jquery与react.js从列表中删除项目