繁体   English   中英

删除li中除当前li之外的所有ul

[英]Remove all ul within li except the current li

我必须删除li除当前li外的所有ul

<ul>
        <li id="Li0">
            <ul>
                <li><span>Childnode1</span></li></ul>
        </li>
        <li id="Li1">
            <ul>
                <li><span>Childnode2</span></li></ul>
        </li>
        <li id="Li2">
            <ul>
                <li><span>Childnode3</span></li></ul>
        </li>
        <li id="Li3">
            <ul>
                <li><span>Childnode4</span></li></ul>
        </li>
        <li id="Li4">
            <ul>
                <li><span>Childnode5</span></li></ul>
        </li>
        <li id="Li5">
            <ul>
                <li><span>Childnode6</span></li></ul>
        </li>
    </ul>

所以,如果我点击li ID为“合谷”每隔li是在此之前, li或明年这个li应具备有ul从DOM中删除。

我当时正在考虑在jquery中使用.not运算符,但直到现在仍无法做到这一点。

这是您要搜索的内容吗?

  $(function(){
            $('li').click(function(){
                $(this).siblings().children("ul").remove();
            });        
     });

这应该有所帮助。

$(function () {
    $('ul:first').delegate("li[id^='L']", 'click', function () {
        $("ul:first > li[id!='"+$(this).attr('id')+"'] > ul").remove();
    });        
});​

演示: http//jsfiddle.net/EJWnn/

演示: http//jsfiddle.net/wwvBL/

$('li').on('click',function(){
    var obj= $(this);
    id= obj.attr('id');
    obj.parent().find('li:not(#'+id+') > ul').remove();
})

使用同级来查找所有其他相邻元素:

$("li").click(function() {
    $(this).siblings().find("ul").remove();
});

您可能想要一个比“ li”更具体的选择器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM