我正在使用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
答案 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'