在下一页的示例中,我希望将“活动”类应用于活动链接的父级:
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),我希望父 li“Kittens”也处于活动状态。
这是当前的 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 的所有兄弟姐妹以及父母,这是我绝对不想要的。
有任何想法吗?