【发布时间】:2014-12-06 19:52:05
【问题描述】:
我找不到向导航栏的“a”元素添加类的方法。
这是 html nav 和 jQuery(仅适用于 test.html url,进行测试):
$(document).ready(function() {
$("a").click(function() {
var actRef = $(this).attr("href");
if (actRef === "test.html") {
$("a[href='test.html']").addClass("active");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="index.html">Inicio</a>
</li>
<li><a href="test.html">Test</a>
</li>
<li><a href="#">Item</a>
</li>
<li><a href="test2.html"> test2</a>
</li>
</ul>
</nav>
这不起作用,它只是没有做任何事情,但是如果我将 .click 更改为 .hover 则可以正常添加类但不会转到链接,因此页面的信息不会改变。
我也试过这个:How to change active class while click to another link in bootstrap use jquery?,但由于e.preventDefault();,两者都不起作用...
如果我取出 preventDefault 它不会添加类但它会转发到链接...
PD:目的是让用户知道他实际在哪个选项卡上,具体取决于他单击的菜单链接。
【问题讨论】:
-
所以您想更改类并导航到 URL?
-
@SalmanA 是的,所以用户知道他实际在哪个标签上导航
-
澄清一下,您的要求是在用户导航之前突出显示链接。所以你想看看他实际上是什么。案例 1:- 用户点击链接 test.html ,它被高亮显示,然后用户到达 test.html。它回到了平常。案例 2 :- 一旦用户在页面 test.html 上,他希望它被高度关注,直到他在 test.html 上
-
@Panther 确实,我想突出显示用户实际所在的菜单链接。这:案例 2 :- 一旦用户在页面 test.html 上,他希望它被高度关注,直到他在 test.html 上
-
好的,那么您需要采用我在回答中建议的不同方法,首先导航到页面。当您登陆该页面时,您可以突出显示该页面。
标签: javascript jquery html css