Я пытаюсь добавить класс «active» в раздел моего меню, если была нажата одна из ссылок в этом разделе. Недавно я узнал, как добавить активный класс (используя jQuery) к ссылке в меню (если он был нажат) и считаю, что я могу настроить этот код, чтобы получить то, что я хочу. Я разместил его ниже, так как это может послужить источником вдохновения.Добавить активный класс в раздел меню
E.g. Если нажать lil shorty, я хочу, чтобы ul с id = "section_3" получала активный класс. Если затем нажать «Выделить функции», я хочу, чтобы ul с id = «section_2», чтобы получить активный класс (и section_3, чтобы потерять активный класс). Обратите внимание, что на странице «Функции деривации» section_2 также должен иметь «активный класс».
Любая помощь была бы принята с благодарностью.
Джек
$(function() {
var pgurl = window.location.href.substr(window.location.href
.lastIndexOf("/") + 1);
$(".section li a").each(function() {
var aurl = $(this).attr("href").substr($(this).attr("href")
.lastIndexOf("/")+1);
if (aurl == pgurl || aurl == '')
$(this).addClass("active");
})
});
<div class="menu">
<ul class='section' id='section_2'>
<li><span id='section_title_2' class='section_title'><a href='#' id='section_link_2'>Against the odds.</a></span>
<ul>
<li id='exhibit_1' class='exhibit_title'><a href="../against-the-odds/introduction"> → Introduction</a></li>
<li id='exhibit_2' class='exhibit_title'><a href='../against-the-odds/deriving-functions'> → Deriving functions</a></li>
<li id='exhibit_3' class='exhibit_title'><a href='../against-the-odds/exploiting-odds'> → Exploiting odds</a></li>
</ul>
</li>
</ul>
<ul class='section' id='section_3'>
<li><span id='section_title_3' class='section_title'><a href='#' id='section_link_3'>Remembering everything.</a></span>
<ul>
<li id='exhibit_104' class='exhibit_title'><a href='#'>black swans</a></li>
<li id='exhibit_104' class='exhibit_title'><a href='#'>lil shorty</a></li>
</ul>
</div>
Спасибо за помощь (и ссылки). Я только что редактировал сообщение. Если вы нажали «Производные функции», я бы хотел, чтобы «активный» по-прежнему был классом «section_2» после того, как вы придете на страницу функций получения. Я не уверен, будет ли ваш код делать это? Извините, что забыл упомянуть об этом раньше. – Jack
ближайший возвращает первого родителя, соответствующего селектору. Поэтому использование .section вместо ul должно делать трюк. – Booster2ooo