代码之家  ›  专栏  ›  技术社区  ›  Chris

jquery treeview-在树中间添加节点

  •  1
  • Chris  · 技术社区  · 14 年前

    我刚刚开始使用jquery和treeview插件,所以这应该是一个相对简单的问题:

    向树中添加分支的示例代码:

    var newnodes = $("<li><span class='folder'>New Sublist</span><ul>" + 
        "<li><span class='file'>Item1</span></li>" + 
        "<li><span class='file'>Item2</span></li></ul></li>").appendTo("#browser"); 
    $("#browser").treeview({ 
      add: branches 
    }); 
    

    对我来说很好,但是在树的末尾添加新的分支-相反,我希望能够选择一个特定的节点并添加到该分支。 我已经设法通过使用特定节点的id而不是整个treeview in-appendto(“nodeid”)来添加节点。 但是,我无法使树正确渲染,也无法使用:

    $("nodeID").treeview({
        add: branches
    });
    

    $("browser").treeview({
        add: branches
    });
    

    或者在没有争论的情况下对双方都这么说。

    提前欢呼

    2 回复  |  直到 14 年前
        1
  •  1
  •   Tali    13 年前

    嘿,这个主意很简单:

    1. 获取要附加的节点的父节点。
    2. 将新节点附加到父节点并将其放入新变量中
    3. 将新变量追加到树(整个树)中。

    检查代码:

    var parent = document.getElementById("parentId");
    var newNode = $("<li> NewNode </li>").appendTo(parent);
    $("#tree").treeview( { add : newNode } );
    

    就这样:) 希望我能帮忙…

        2
  •  0
  •   Kristine T    10 年前

    我做到了,而且成功了。但是hitArea始终可见,即使节点下没有子节点。

    //HTML file
    <ul id='grandpa' class='treeview'></ul>
    
    //JS snippet when adding a first node - pay attention to the dummy <ul></ul> at the end
    var branches = $("<li><div id='dad'>Maybe-a-parent-node</div><ul></ul></li>").appendTo("#grandpa");
    
    //JS snippet when adding some children in a middle of a tree
    pNode = $("#dad").children("ul");  // get the dummy ul and add children to it
    childrenHTML =  "<li>Node 1</li>"; // can add more than 1 li here
    var children = $(childrenHTML).appendTo(pNode);
    $(pNode).treeview({
        add: children
    });
    

    我知道这个问题已经很老了。 希望它能帮助别人。