获取所有子节点的子名称

时间:2012-05-08 18:13:30

标签: jstree

我必须在单击的节点下获取每个子节点的名称。假设我在一个函数中发送被点击的节点:

getNodes(node){
$(node).children().each(function () {
  //want child nodes name under the sent node(node)
});
}

我该如何运作?

1 个答案:

答案 0 :(得分:1)

我一直在努力寻找方法。以下是我提出的建议:

我没有使用jsTree,而是使用了JQuery选择器。这很好用,因为每个节点的元数据都存储在jQuery数据中。

以下是我的观点:

    $( "#treeDiv" ).jstree( {
       "json_data":{data:jsTree},
       "themes":{
          "theme":"classic",
          "dots":false,
          "icons":false
       },
       "plugins":[ "themes", "json_data", "ui" ]
    } ).bind( "select_node.jstree",
                function ( e, data ) {
                   $(data.rslt.obj).find("li").each( function( idx, listItem ) {
                      console.log( $(listItem).data("name") );
                   });
                } );

这将打印控制台中的所有名称。只要您将它们添加为元数据。有关元数据的详细信息,请参阅jsTree文档:http://www.jstree.com/documentation/json_data

第二个选项是将$(listItem).data("name")替换为$(listItem ).find("a" ).text()

这仅适用于最后一个级别,因为叶子在标记中有其名称,但父级将打印更多。

希望这会有所帮助。