Javascript 如果父元素没有';我没有孩子

Javascript 如果父元素没有';我没有孩子,javascript,jquery,list,tree,Javascript,Jquery,List,Tree,我正在使用可嵌套代码()。在列表中,用户可以拖放项目直到级别2。基本上,物品最多可以有一个父亲 如果该项有子项,则该项显示展开和折叠函数。当该项没有子项时,该项不显示展开和折叠函数 我还创建了一个删除项目的函数 因此,当我删除子项并且父项没有任何子项时,折叠和展开函数不会消失。这些功能应该消失 守则: <div class="dd" id="nestable"> <ol class="dd-list outer">

我正在使用可嵌套代码()。在列表中,用户可以拖放项目直到级别2。基本上,物品最多可以有一个父亲

如果该项有子项,则该项显示展开和折叠函数。当该项没有子项时,该项不显示展开和折叠函数

我还创建了一个删除项目的函数

因此,当我删除子项并且父项没有任何子项时,折叠和展开函数不会消失。这些功能应该消失

守则:

<div class="dd" id="nestable">
            <ol class="dd-list outer">
                <li class="dd-item" data-id="1">
                    <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                    <div class="dd-handle">Item 1</div>
                </li>
                <li class="dd-item" data-id="2">
                    <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                    <div class="dd-handle">Item 2</div>
                    <ol class="dd-list">
                        <li class="dd-item" data-id="4">
                            <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                            <div class="dd-handle">Item 4</div>
                        </li>
                        <li class="dd-item" data-id="9">
                            <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                            <div class="dd-handle">Item 9</div>
                        </li>
                        <li class="dd-item" data-id="10">
                            <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                            <div class="dd-handle">Item 10</div>
                        </li>
                    </ol>
                </li>
                <li class="dd-item" data-id="11">
                    <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                    <div class="dd-handle">Item 11</div>
                </li>
                <li class="dd-item" data-id="12">
                    <button class='dd-action pull-right' type='button' data-action='remove' title='Remove'><i class='icon-remove'></i></button>
                    <div class="dd-handle">Item 12</div>
                </li>
            </ol>
        </div>

  • 项目1
  • 项目2
  • 项目4
  • 项目9
  • 项目10
  • 项目11
  • 项目12
  • Javascript:

    $(document).ready(function()
    {
    
        var updateOutput = function(e)
        {
            var list   = e.length ? e : $(e.target),
                output = list.data('output');
            if (window.JSON) {
                output.val(window.JSON.stringify(list.nestable('serialize')));
            } else {
                output.val('JSON browser support required for this demo.');
            }
        };
    
        // activate Nestable for list 1
        $('#nestable').nestable({
            group: 1,
            expandBtnHTML   : '<button class="dd-action" data-action="expand" type="button"><i class="icon-chevron-right"></i></button>',
            collapseBtnHTML : '<button class="dd-action" data-action="collapse" type="button"><i class="icon-chevron-down"></i></button>',
            customActions   : {
                'remove'    : function(item,button) {
                                item.remove();
                            }
            }
        })
        .on('change', updateOutput);
    
        // output initial serialised data
        updateOutput($('#nestable').data('output', $('#nestable-output')));
    
        $('#nestable-menu').on('click', function(e)
        {
            var target = $(e.target),
                action = target.data('action');
            if (action === 'expand-all') {
                $('.dd').nestable('expandAll');
            }
            if (action === 'collapse-all') {
                $('.dd').nestable('collapseAll');
            }
        });
    
    });
    
    $(文档).ready(函数()
    {
    var updateOutput=函数(e)
    {
    变量列表=e.length?e:$(e.target),
    输出=列表数据(“输出”);
    if(window.JSON){
    val(window.JSON.stringify(list.nestable('serialize'));
    }否则{
    val('此演示需要JSON浏览器支持');
    }
    };
    //激活列表1的可嵌套项
    $(“#可嵌套”)。可嵌套({
    组别:1,,
    expandBtnHTML:“”,
    collapseBtnHTML:“”,
    海关行动:{
    “删除”:功能(项、按钮){
    项。删除();
    }
    }
    })
    .on(“更改”,更新输出);
    //输出初始序列化数据
    updateOutput($('#可嵌套').data('output',$('#可嵌套输出'));
    $(“#可嵌套菜单”)。在('click',函数(e)上
    {
    var目标=$(即目标),
    动作=目标数据(“动作”);
    如果(操作==='全部展开'){
    $('.dd').nestable('expandAll');
    }
    如果(操作===“全部折叠”){
    $('.dd').nestable('collapseAll');
    }
    });
    });