jsTree show/hide nodes
I'm working with jstree and I would like to know how to hide/show nodes if possible. I gave the list items a "cat" id to select them with jquery but this doesn't work.
Here's the code.
html:
<div class="resultsContent">
<div class="demo" id="demo_1">
<ul>
{% fo开发者_JAVA技巧r 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>
script:
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
It seems at your code that you are generating li elements with an ID composed by a IPC Symbol value plus a black space, plus the word "cat".
<li id="{{ ipc.symbol }} cat" rel="node-type">
But, your selector is trying to get an element whose ID is exactly "cat"
$("#cat").slice(5, 10).hide(); //Hide some nodes
Maybe you could use a different jQuery selector. By the example, Attribute Contains Selector:
$("li[id*='cat']").slice(5, 10).hide(); //Hide nodes with the string 'cat'
Or the Attribute Contains Word Selector, more appropriate in this case (because you are looking for a whole word):
$("li[id~='cat']").slice(5, 10).hide(); //Hide nodes containing the word 'cat'
精彩评论