В примере на следующей странице я бы хотел, чтобы «активный» класс применялся к родителю активной ссылки:
http://socalragdolls.com/jquerytest.html
<div id="topnav">
<ul id="mainmenu">
<li class="top" id="home"><a href="/">Home</a></li>
<li class="top"><a href="kittens">Kittens</a>
<ul id="mainmenu">
<li><a href="caring">Caring for a Ragdoll</a></li>
<li><a href="kittens">Current Litter</a></li>
<li><a href="jquerytest.html">Future Litters</a></li>
<li><a href="parents">Parents</a></li>
<li><a href="pricing">Pricing</a></li>
<li><a href="reserving">Reserving a Kitten</a></li>
</ul>
</li>
<li><a href="about">About Us</a>
<ul>
<li><a href="about">Cattery</a></li>
<li><a href="proprietor">Proprietor</a></li>
<li><a href="testimonials">Testimonials</a></li>
</ul>
</li>
<li class="last"><a href="contact.html">Contact Us</a></li>
</ul>
</div>
По сути, когда посетитель находится на странице (jquerytest.html), я хочу, чтобы родительский "Котята" также были активны.
Вот текущий jQuery:
<script>
$("#topnav a").each(function() {
if(this.href == window.location || this.href == document.location.protocol + "//" + window.location.hostname + window.location.pathname)
$(this).parent('li').addClass('active');
});
</script>
<script>
$(document).ready(function() {
$('li.active').parent().parent().addClass('active');
});
</script>
Как видите, это выделяет всех братьев и сестер ребенка .active li вместе с родителем, чего я определенно не хочу.
Есть идеи?