JSTree,遍历编辑每个节点

JSTree, traverse and edit each nodes

我是 JSTree 的新手,但很想知道如何遍历 jstree 来编辑每个节点? 我写了一个递归函数来遍历每个节点,但对我来说奇怪的是,

  1. 我使用 var treeData = 取出数据 $('tree').get_json(真);
  2. 我将这些数据放入函数中,traverse(treeData);

    traverse(treeData){ //在这里做一些编辑工作。 遍历(树数据的孩子); }

有线,遍历完成后,什么都没有改变。 我已经将 'check_callback' 设置为 true。

有人可以帮忙吗? 最好的祝福 迈克尔

使用 get_json 你只能得到 json 对象。要更改节点,您必须访问它们。您还必须使用 redraw 函数根据更改的数据更新节点。

您的功能示例如下所示:

function traverse(node) {
    node.text += ' too';
    for (var i=0, len = node.children.length; i<len; i++) {
        var childNode = $("#tree").jstree().get_node(node.children[i]);
        traverse(childNode);
    }         
}

var treeData = data.node;
traverse(data.node); 
$('#tree').jstree().redraw(true);

检查 fiddle - Fiddle