jsTree показать / скрыть узлы - PullRequest
       8

jsTree показать / скрыть узлы

2 голосов
/ 14 сентября 2010

Я работаю с jstree и хотел бы узнать, как скрыть / показать узлы, если это возможно. Я дал элементам списка идентификатор "cat", чтобы выбрать их с помощью 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 Ответ

3 голосов
/ 14 сентября 2010

В вашем коде кажется, что вы генерируете элементы li с идентификатором, состоящим из значения символа IPC плюс черный пробел, плюс слово "кошка".

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

Но ваш селектор пытается получить элемент с идентификатором "cat"

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

Возможно, вы могли бы использовать другой селектор jQuery.Например, Атрибут содержит селектор :

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

Или Атрибут содержит селектор слов , более подходящий в этом случае (потому что вы ищете целое слово):

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