3

私は 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 
4

1 に答える 1

3

あなたのコードでは、IPC Symbol 値空白、および「cat」という単語で構成される ID を持つ li 要素を生成しているようです。

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

ただし、セレクターは、ID が正確に「cat」である要素を取得しようとしています。

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

別の jQuery セレクターを使用することもできます。例では、属性にセレクターが含まれています

$("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'
于 2010-09-14T13:45:29.030 に答える