Javascript jsTree-关闭特定级别上的节点
我有一个包含5层节点的jstree。我想遍历所有节点以关闭级别为4的节点,这样人们就不会看到级别5,除非单击4以展开。如果有比迭代更好的方法,我洗耳恭听Javascript jsTree-关闭特定级别上的节点,javascript,jquery,jstree,Javascript,Jquery,Jstree,我有一个包含5层节点的jstree。我想遍历所有节点以关闭级别为4的节点,这样人们就不会看到级别5,除非单击4以展开。如果有比迭代更好的方法,我洗耳恭听 $("#mytree").bind('ready.jstree', function(event, data) { var $tree = $(this); $($tree.jstree().get_json($tree, { flat: true })) .each(function(index, value) {
$("#mytree").bind('ready.jstree', function(event, data) {
var $tree = $(this);
$($tree.jstree().get_json($tree, {
flat: true
}))
.each(function(index, value) {
var node = $("#mytree").jstree().get_node(this.id);
var lvl = node.parents.length;
if (lvl = 4) {
node.close_node(this, true);
}
});
});
我找到了答案,以防其他人也这么做 我不是先打开全部,然后关闭一些,而是先关闭所有,然后打开我想要的:
$("#mytree").bind('ready.jstree', function(event, data) {
var $tree = $(this);
$($tree.jstree().get_json($tree, {
flat: true
}))
.each(function(index, value) {
var node = $("#mytree").jstree().get_node(this.id);
var lvl = node.parents.length;
if (lvl <= 3) {
$('#mytree').jstree().open_node({"id":node.id});
}
});
});
$(“#mytree”).bind('ready.jstree',函数(事件,数据){
var$tree=$(这个);
$($tree.jstree().get_json($tree{
平:是的
}))
.每个(函数(索引、值){
var node=$(“#mytree”).jstree().get_节点(this.id);
var lvl=node.parents.length;
如果(lvl如果你想打开第一层的节点,你可以试试这个
$('#myTree li').each( function() {
var node=$("#myTree").jstree().get_node(this.id);
var level = node.parents.length;
if(level<=1){
$('#myTree').jstree().open_node({"id":node.id});
}
});
$('#myTree li')。每个(函数(){
var node=$(“#myTree”).jstree().get_节点(this.id);
变量级别=node.parents.length;
如果(级别)