首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsTree打开分支

jsTree打开分支
EN

Stack Overflow用户
提问于 2010-11-13 13:25:37
回答 8查看 61.8K关注 0票数 22

我使用的是JQuery插件jsTree,http://www.jstree.com/我可以用以下方法展开整个树:

代码语言:javascript
复制
$("#tree").jstree("open_all");

还有一个特定的节点:

代码语言:javascript
复制
$("#tree").jstree("open_node", $('#childNode'));

我在打开树的分支时遇到了困难,打开的分支可以打开它,但如果它有父分支,它就不会打开。

有没有人用jsTree成功地做到了这一点?如果你需要更多信息,请告诉我。

谢谢

Eef

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-11-16 22:28:46

您可以使用绑定

代码语言:javascript
复制
$("#tree").bind("open_node.jstree", function (event, data) { 
  if((data.inst._get_parent(data.rslt.obj)).length) { 
    data.inst._get_parent(data.rslt.obj).open_node(this, false); 
  } 
}); 
票数 9
EN

Stack Overflow用户

发布于 2010-11-13 15:25:52

您的开放分支代码是正确的。

例如。树的来源:

代码语言:javascript
复制
    <div id="treeTask">
       <ul>
          <li id="node_37"><a href="#">TEST1</a>
              <ul>
                  <li id="node_38"><a href="#">TEST2</a></li>
                  <li id="node_39"><a href="#">TEST3</a></li>
              </ul>
          </li>
      </ul>
   </div>

打开节点:

代码语言:javascript
复制
$("#treeTask").jstree("open_node", $("#node_38"));
票数 18
EN

Stack Overflow用户

发布于 2013-03-19 03:58:49

尝试此代码以打开节点,直到第n级

代码语言:javascript
复制
$("#myTree").jstree({options}).bind('loaded.jstree', function (e, data) {
    /** 
     * Open nodes on load (until x'th level) 
     */
    var depth = 3;
    data.inst.get_container().find('li').each(function (i) {
        if (data.inst.get_path($(this)).length <= depth) {
            data.inst.open_node($(this));
        }
    });
});
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4171111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档