Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jsTree选择尚未在DOM中的节点_Javascript_Jquery_Jstree - Fatal编程技术网

Javascript jsTree选择尚未在DOM中的节点

Javascript jsTree选择尚未在DOM中的节点,javascript,jquery,jstree,Javascript,Jquery,Jstree,我有一个jsTree,数据来自HTML $("#tree_container").jstree(); 现在我想在树元素上实现深度链接。我从URL参数获取类和数据id,现在我想选择对应的节点 var id=$("#tree_container").find("li."+get_class+"[data-id='"+get_id+"']").attr("id"); if(id!=undefined && id!=0) { treeElem.jstre

我有一个jsTree,数据来自HTML

$("#tree_container").jstree();
现在我想在树元素上实现深度链接。我从URL参数获取类和数据id,现在我想选择对应的节点

var id=$("#tree_container").find("li."+get_class+"[data-id='"+get_id+"']").attr("id");
if(id!=undefined && id!=0) {
                treeElem.jstree(true).select_node(id);
            }
仅当节点已在DOM树中时,此操作才有效。 如果单击父节点,将插入子树 如果我想要的节点不在树中。。。id未定义,选择失败

问题是,如果我直接在中输入像j1_6这样的id,即使节点不在DOM树中,也会找到它。它只适用于该格式的Id,我尝试在元素$.class[data Id='1']中放置其他选择器,但没有任何效果

我的问题是,如果节点还不在DOM树中,我不知道如何获取该节点的id。我没有找到一个api函数或任何可以这样做的东西

======更新======

我找到了一个解决办法。。。 在构建HTML树时,我现在结合类和数据id来组成元素li的HTML id。 因此,我可以控制ID并了解它们,只需执行以下操作:

jstreetrue.选择节点+获取类型+获取id


所以,是的,正如我所说,这只是一个解决办法…

你能展示一下将分支插入到单击的父节点的代码吗?我没有单击任何东西。我从URL中获取参数get_class,get_id,然后我想在树中选择相应的节点。如果你有li的data id属性,为什么不把它改为id并使用它来获取节点,而不是从class和data id中构造一个id?这是我最后看到的更新,但我有两种类型的元素class。