И проблема в том, что после того, как я нажму на ссылку «Свернуть все», «некоторые» плюсы и минусы будут отображаться напротив того, чем они должны быть: то есть «расширяемый» узел будет показан с минусом рядом с Это. Кроме того, дерево работает правильно. (Что ж, функциональность «развернуть все» также затронута, но я думаю, что это часть той же проблемы). Какие узлы отображаются неправильно, зависит от того, какие из них были открыты до того, как дерево было свернуто. Если вы считаете это важным, я предоставлю вам точную схему.
Я ищу руководство по решению проблемы, а не «решение», хотя, конечно, было бы неплохо :-). Дерево загружается через расширение Async Treeview и строку JSON. Я подозреваю, что это может быть связано с проблемой. Вот HTML-код дерева после его загрузки:
<li class="expandable lastExpandable" id="333">
<div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
<span class="important" id="333">Admin</span>
<ul style="display: none;">
<li class="expandable" id="55">
<div class="hitarea expandable-hitarea "></div>
<span class="important" id="55">Admin A</span>
<ul style="display: none;">
<li class="expandable" id="85">
<div class="hitarea expandable-hitarea "></div>
<span class="important" id="85">Dir A</span>
<ul style="display: none;">
<li class="last" id="98"><span class="important" id="98">A1</span></li>
</ul>
</li>
<li class="expandable" id="88">
<div class="hitarea expandable-hitarea ">
</div><span class="important" id="88">Dir B</span>
<ul style="display: none;">
<li id="89">
<span class="important" id="89">B1</span>
</li>
<li class="last" id="90">
<span class="important" id="90">B2</span>
</li>
</ul>
</li>
<li class="expandable lastExpandable" id="102">
<div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
<span class="important" id="102">Dir C</span>
<ul style="display: none;">
<li class="last" id="103">
<span class="important" id="103">C1</span>
</li>
</ul>
</li>
</ul>
</li>
<li class="expandable lastExpandable" id="84">
<div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
<span class="important" id="84">Admin B</span>
<ul style="display: none;">
<li class="expandable" id="100">
<div class="hitarea expandable-hitarea "></div>
<span class="important" id="100">Dir A</span>
<ul style="display: none;">
<li class="last" id="101">
<span class="important" id="101">A1</span>
</li>
</ul>
</li>
<li class="expandable lastExpandable" id="10">
<div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
<span class="important" id="10">Dir B</span>
<ul style="display: none;">
<li class="last" id="91">
<span class="important" id="91">B1</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Как я уже сказал, я бы приветствовал возможные указания относительно причины проблемы: CSS, JSON, Treeview async, Threeview? Я буду продолжать смотреть на код плагина, чтобы лучше понять, как он работает, но любое возможное направление от кого-то более опытного сэкономит время.