我有下面给出的HTML代码来添加我的网站的导航。(请注意,列表是嵌套的)
<div id="navigation">
<ul>
<li><a href="default.html">Home</a></li>
<li><a href="about.html">About us</a></li>
<li><a href="help.html">Help</a></li>
<li><a href="#">DropDown</a>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</li>
<li class="last"><a href="#">A Last Link Text</a></li>
</ul>
</div>
我想以新颜色显示当前活动的页面链接。因此,相应的列表项应该使类处于活动状态,并且我使用 CSS 来更改颜色。例如,如果 default.html 是当前打开的页面,则代码应<li class=“active”><a href="default.html">Home</a></li>
。
如何在jQuery和JavaScript中做到这一点(两个不同的网站都需要两者)。谁能帮我?
感谢您的帮助。
获取您的 URL/解析它:
var pathname = window.location.pathname;
然后添加类:
Jquery:
$(element).addClass('classname');
JS:如何向给定元素添加类?
试试这个
$(document).ready(function () {
var url = location.href;
$('#navigation li a').each(function () {
var thisHref = this.getAttribute('href');
if (thisHref !== '#' && url.indexOf(thisHref) !== -1) {
$(this.parentNode).addClass('active');
return;
}
});
});