У меня есть неупорядоченный список, который нужно объединить в иерархический список, в зависимости от класса, который был предварительно назначен каждому
.В частности, если исходный список выглядит следующим образом:
<ul>
<li class="level-1"><a href="#">First Level Item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-1"><a href="#">Next First Level Item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
</ul>
Мне нужно, чтобы он стал вложенным списком на основе класса каждого li, поэтому окончательный список будет перерисован как:
<ul>
<li class="level-1"><a href="#">First Level Item</a>
<ul>
<li class="level-2"><a href="#">Second Level item</a>
<ul>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
</ul>
</li>
<li class="level-2"><a href="#">Second Level item</a>
<ul>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
</ul>
</li>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a></li>
</ul>
</li>
<li class="level-1"><a href="#">Next First Level Item</a>
<ul>
<li class="level-2"><a href="#">Second Level item</a></li>
<li class="level-2"><a href="#">Second Level item</a>
<ul>
<li class="level-3"><a href="#">Third Level item</a></li>
<li class="level-3"><a href="#">Third Level item</a></li>
</ul>
</li>
</ul>
</ul>
Поскольку я не могу запустить серверный код в CMS, которая выводит этот список, я должен реорганизовать эту клиентскую часть HTML-списка.
Я провел много часов без удачи, пытаясь написать свой собственный jQueryсоздать новую иерархию.Моей первой попыткой было использование jQuery .before для добавления дополнительных тегов </ul></li>
перед классом, а затем добавление нового <ul>
после тега, но я не смог вставить ни один тег <ul> <li>
-- кажется, jquery добавит <p>
и т. д., но не </ul></li>
?
Затем я попытался использовать .wrap, чтобы поместить новый <ul></ul>
, где это необходимо, но я не был достаточно умен, чтобы понять,Как выбрать и сгруппировать всех детей или внуков для упаковки.
У кого-нибудь есть намеки на то, что я должен пытаться делать?