Помогите пожалуйста решить задачу.
Есть многоуровневое дерево разделов, в которых статьи. При нажатие на заголовок раскрывается список статей с силками.
Задача: при переходе на статью которая например находиться на третьем уровне вложенность сделать так чтоб все родители были развернуты. Уровень вложенности не известен.
Есть многоуровневое дерево разделов, в которых статьи. При нажатие на заголовок раскрывается список статей с силками.
Задача: при переходе на статью которая например находиться на третьем уровне вложенность сделать так чтоб все родители были развернуты. Уровень вложенности не известен.
Код |
---|
<ul class="tree" id="tree"> <li><span class="caret">Заголовок</span> <ul class="nested"> <!--добавить класс active--> <li><a href="/link-l1/">Ссылка</a></li> <li><a href="/link-l1/">Ссылка</a></li> <li><a href="/link-l1/">Ссылка</a></li> <li><a href="/link-l1/">Ссылка</a></li> <li><a href="/link-l1/">Ссылка</a></li> <li><span class="caret">Заголовок</span> <ul class="nested"> <!--добавить класс active--> <li><a href="/link-l2/">Ссылка</a></li> <li><a href="/link-l2/">Ссылка</a></li> <li><a href="/link-l2/">Ссылка</a></li> <li><a href="/link-l2/">Ссылка</a></li> <li><a href="/link-l2/">Ссылка</a></li> <li><span class="caret">Заголовок</span> <ul class="nested"> <!--добавить класс active--> <li><a href="/link-l3/">Ссылка</a></li> <li><a href="/link-l3/">Ссылка</a></li> <li><a href="/link-l3/">Ссылка</a></li> <li><a href="/link-l3/">Ссылка</a></li> <li><a href="/link-l3/">Ссылка</a></li> <li><span class="caret">Заголовок</span> <ul class="nested"> <!--добавить класс active--> <li><a href="/link-l4/">Ссылка</a></li> <!--selected--> <li><a href="/link-l4/">Ссылка</a></li> <li><a href="/link-l4/">Ссылка</a></li> <li><a href="/link-l4/">Ссылка</a></li> <li><a href="/link-l4/">Ссылка</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ul> <!--Это все на что меня хватило. Класс добавляется только к ближайшему родителю--> $('ul.nested a').each(function () { let location = window.location.protocol + '//' + window.location.host + window.location.pathname; let link = this.href; if (link == location) { $(this).closest('.nested').addClass('active'); } }); |