如何从jsTree隐藏根节点?

Sta*_*low 4 jquery jquery-ui jquery-selectors jstree

[#1]我想隐藏jstree的根节点?

我将几个子根节点添加到"Root"节点,所以我想从jsTree隐藏根节点?

在此输入图像描述

应用以下CSS后隐藏根节点,在IE8中看到感觉问题:

    $("ul:contains('Root')").css('position','relative');
    $("ul:contains('Root')").css('top','-20px');
    $("ul:contains('Root')").css('left','-20px');
Run Code Online (Sandbox Code Playgroud)

IE8中的CSS问题隐藏了根节点

[#2]在以下核心插件中,

我为Root节点提供了硬编码值(Root_ID)来打开Root节点.最初,它工作正常

"core" : { initially_open" : [ "Root_ID" ] }
Run Code Online (Sandbox Code Playgroud)

根节点ID可能会有所不同的RootID,RID,Root_id,R_ID .....因为我们提供不同的xml响应.

Psudo代码类似于:

"core" : { initially_open" : [ **1st_node_of_Tree_like_(ul > li:first)_OR_$(".jstree-last").first()** ] }
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这2件事?

任何有关此事的帮助或指导将不胜感激.

Dar*_*ren 6

这有点违反直觉,但创建没有明确根节点的树的最佳方法是不在数据中提供任何根节点,并使根节点的所有子节点都具有父"#".jstree将呈现具有根的多个顶级子节点的树.试图隐藏根,避免任何混乱.


sni*_*ies 1

尝试:

$("a:contains('Root')").css("visibility","hidden")
Run Code Online (Sandbox Code Playgroud)

或者

$("a:contains('Root')").css("display","none")
Run Code Online (Sandbox Code Playgroud)

也许 jsTree 中也有一个选项,但我不熟悉该库。

更新:

假设你的 jsTree 位于某种 div 中,尝试移动它直到根元素被隐藏:

$("ul:contains('Root')").css('position','relative');
$("ul:contains('Root')").css('top','-20px');
$("ul:contains('Root')").css('left','-20px');
Run Code Online (Sandbox Code Playgroud)

您可能需要编辑 css 选择器( "ul:contains('Root')") 才能获得正确的ul. 此外,您可能想编辑移动的数量topleft