JQuery在li中展开ol
在以下情况下,函数“展开”有一个小问题:JQuery在li中展开ol,jquery,dom,Jquery,Dom,在以下情况下,函数“展开”有一个小问题: <li id="menu_89"> <div class="list-item">Home <div class="actions"><a class="delete" href="#">Delete</a> </div> </div> <ol> <li id="menu_91"&g
<li id="menu_89">
<div class="list-item">Home
<div class="actions"><a class="delete" href="#">Delete</a>
</div>
</div>
<ol>
<li id="menu_91">
<div class="list-item">New user
<div class="actions"><a class="delete" href="#">Delete</a>
</div>
</div>
<ol>
<li id="menu_93">
<div class="list-item">Pay
<div class="actions"><a class="delete" href="#">Delete</a>
</div>
</div>
</li>
</ol>
</li>
</ol>
</li>
家
新用户
支付
按delete(删除)按钮时,应删除列表项,并且
之间的所有内容应保留,但
标记也应删除。我做不到
因此,当您按下主页上的“删除”按钮时,主页应被删除,新用户和付款应保持不变。这适用于您的场景(我不确定是否可以进一步优化以提高效率):
jsFiddle:您的代码在哪里?你提到了
unwrap
,所以我希望看到它在某处使用。(这不是你想要的,我只是说…)如果他想要保留元素的内部HTML,并删除容器标记,这正是他想要的。对不起,忘了添加我尝试过的代码,我的错。
$('#menu_89').on('click', '.delete', function() {
var $ele = $(this).closest("li").find("ol").eq(0);
$ele.contents().unwrap();
$(this).parent().parent().remove();
});