JQuery在里面打开ol

时间:2013-02-19 13:34:51

标签: 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">
            <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>

当按下删除按钮时,应删除列表项,<ol>之间的所有内容都应保留,但<ol>标记也应删除。我不能完成这件事。

所以当您按Home上的删除按钮时,应该删除主页并且新用户和Pay应该保留。

1 个答案:

答案 0 :(得分:0)

这适用于您的方案(我不确定是否可以进一步优化效率):

$('#menu_89').on('click', '.delete', function() {
  var $ele = $(this).closest("li").find("ol").eq(0);
   $ele.contents().unwrap();
   $(this).parent().parent().remove(); 
});

jsFiddle:http://jsfiddle.net/6JPzb/