2013-08-28 64 views
0

你好我使用for循环打开所有节点。Javascript JStree开放节点

有没有办法只是一次打开所有节点而不是循环?

function (event, data) { 
      var myChilds=myfavTree.find("li"); 

      for(var i=0;i<myChilds.length;i++){ 
       var myId= $(myChilds[i]).attr("id"); 
       $("#dataTree").jstree("open_node","#"+myId); 
      } 

回答

0
$("#dataTree").jstree('open_all'); 

取决于何时以及如何你想做到这一点,你可能还需要参考这个非常类似的问题上:How do i open all nodes in jquery Jstree?

更新基于澄清: 如果循环本身是你的问题,你可以尝试一个更具体的选择器,看看是否可以处理你的问题。一个ID attribute selector应该只能找到带有ID的li项目。这样你的选择引擎应该做的沉重,你可以打电话

var myChilds = myFavTree.find("li[id]") 
    myChilds.each(function(){ 
     $("#dataTree").jstree("open_node",this.id) 
    }) 
+0

我应该已经更具体.....我需要节点与ID打开....有这么多的javascript被挂起的数组 –