如何以编程方式在jsTree中选择节点并打开所有父节点

Dav*_*yes 5 javascript jquery jquery-ui jstree

在多级jsTree中,如何选择特定节点(可能是叶节点)并展开其所有父节点?示例:
从这个JSFiddle(http://jsfiddle.net/mmeah/fyDE6/)我想以编程方式选择Grand Child并打开所有父节点.

对于某些上下文,我试图确保用户返回树中的正确节点,如果他们跟随我的网站的深层链接

MMe*_*eah 5

jsTree给出一个open_node()函数来任意触发任何节点打开.只需扫描树中的非开放父母并打开它们.

示例:http: //jsfiddle.net/mmeah/yyy8W/

$("#findChild").click(function(){
    $.jstree._reference(myTree).open_node("#Node_001",function(){;},false);
});
$("#findGrandChild").click(function(){
    var closedParents = $("#Node_003").parents("li.jstree-closed");
    for(var i=closedParents.length-1;i>=0;i--){
        pleaseOpen($(closedParents[i]));
    }
});

function pleaseOpen(thisNode){
    if(typeof thisNode=="undefined") return;
    if(thisNode.hasClass("jstree-leaf") || thisNode.hasClass("jstree-open") ) return;
    $.jstree._reference(myTree).open_node(thisNode,function(){;},true);
}
Run Code Online (Sandbox Code Playgroud)