0

我正在使用 jstree

 <div class="demo jstree jstree-0 jstree-default jstree-focused" id="jstree1">
<ul>
    <li id="4331" class="jstree-closed jstree-last jstree-unchecked">
        <ins class="jstree-icon">&nbsp;</ins>
        <a href="#" class="">
            <ins class="jstree-checkbox" style="display: none;">&nbsp;</ins>
            <ins class="jstree-icon">&nbsp;</ins>
            T-Shirt
        </a>
    </li>
</ul>

树就像

T 恤(根)

-实心三通(儿童)

-图形三通(儿童)

-马球T恤(儿童)

现在我想删除 root 中的复选框T-shirt

我可以使用此代码删除复选框

(function(){
  j("#jstree1 li ").filter("#4331").each(function() {j("a ins", this).first().hide();});
    setTimeout(arguments.callee, 6);
})();

但主要问题是我正在使用 id 删除复选框4331

每当我向这棵树添加新类别时,所有树的 ID 都会更改

所以它不工作

我想使用名称来执行此代码,T-Shirt因此当我添加新类别时它不会给我造成问题

4

2 回答 2

0

为什么不使用类来隐藏复选框?

  • 将类"attr":{"rel":"directory"}(参见下面的示例)添加到您不希望复选框可见的节点。
  • 然后使用css[rel=directory] .jstree-checkbox { display:none }隐藏复选框

查看我隐藏目录的 jsfiddle。 http://jsfiddle.net/radek/4fTDq/68/

于 2012-10-07T22:23:39.003 回答
0

您是否尝试过使用 css 隐藏“可折叠”项目的复选框?

.jstree-closed a .jstree-checkbox, .jstree-opened a .jstree-checkbox { display: none; }

于 2012-10-05T06:43:04.793 回答