jsTree显示/隐藏节点

时间:2010-09-14 13:22:30

标签: jquery html jstree

我正在使用jstree,我想知道如何隐藏/显示节点。我给列表项目一个“cat”id用jquery选择它们但是这不起作用。

这是代码。

HTML:

<div class="resultsContent">

    <div class="demo" id="demo_1">

    <ul>

    {% for ipc in ipcs %}

        {% ifequal ipc.back_list 1 %}   

            </ul></li>

        {% endifequal %}    

        {% ifequal ipc.kind "c" %}  

        <li id="{{ ipc.symbol }} cat" rel="node-type">
                {% else %}
                    <li id="{{ ipc.symbol }} cat" rel="node-type">
            {% endifequal %}
    {% endfor %}
    </ul>

</div>

</div>

脚本:

jQuery('#demo_1')

    .jstree({

        plugins : [ "themes", "html_data", "checkbox"  ], 

        themes : { theme: "default", dots : false, icons : false },         

        core : { "initially_open" : [ "{{ top_symbol }}" ] }, 

    })

$("#cat").slice(5, 10).hide(); //Hide some nodes 

1 个答案:

答案 0 :(得分:3)

您的代码中似乎生成的li元素具有由IPC符号值黑色空格组成的ID,加上单词“cat”。< / p>

<li id="{{ ipc.symbol }} cat" rel="node-type">

但是,你的选择器试图获得一个ID恰好是“cat”的元素

$("#cat").slice(5, 10).hide(); //Hide some nodes 

也许你可以使用不同的jQuery选择器。例如,Attribute Contains Selector

$("li[id*='cat']").slice(5, 10).hide(); //Hide nodes with the string 'cat'

Attribute Contains Word Selector,在这种情况下更合适(因为你正在寻找一个完整的词):

$("li[id~='cat']").slice(5, 10).hide(); //Hide nodes containing the word 'cat'