我让这个Jq将active
类添加到<li>
标记:
$("#main-nav li").each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("active");
//alert(this.href.trim());
});
HTML:
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav" id="main-nav">
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About</a></li>
<li><a href="contact.php">Contact</a></li>
</div>
但不知何故它不起作用,任何人都可以照顾出现问题吗?
答案 0 :(得分:2)
您需要遍历锚点,而不是列表项。 href
是锚的属性。执行该循环,然后您可以将.addClass()
应用于最近的列表项。另外,如果您使用的是jQuery,那么您也可以使用可靠的jQuery trim()
:
$("#main-nav li a").each(function(index) {
if($.trim(this.href) == window.location) {
$(this).closest('li').addClass("active");
//alert(this.href.trim());
}
});
答案 1 :(得分:1)
你不会使用this.href.trim()
获得href。你需要使用:
$(this).find('a').attr('href').trim()
答案 2 :(得分:0)
我的版本:
$("#main-nav li a").each(function(index) {
if(this.href.trim() == window.location)
$(this).parent().addClass("active");
});