JQuery树视图 - 在树的中间添加节点

时间:2010-03-25 12:11:28

标签: jquery jquery-plugins treeview

我刚刚开始使用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而不是整个树视图来添加节点 - appendTo(“nodeID”) 但是我无法使用以下代码正确渲染树

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

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

或两者都没有参数调用它。

提前干杯

2 个答案:

答案 0 :(得分:1)

嘿,这个想法非常简单:

  1. 获取要追加的节点的父节点。
  2. 将新节点附加到父节点并将其放入新变量
  3. 将树(整棵树)附加到新变量。
  4. 检查代码:

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

    就是这样:) 希望我能帮助......

答案 1 :(得分:0)

我做到了,它有效。但即使节点下没有孩子,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
});

我知道这个问题很老了。 希望它可以帮助别人。