我正在尝试使用 jquery 的东西为所选菜单添加类。我尝试了以下方法,它不起作用。
我的代码是
<div class="paragraph">
<ul class="tablinkss">
<li class="active">@Html.ActionLink("Login", "LogOn")</li>
<li>@Html.ActionLink("Register", "Register")</li>
</ul>
</div>
还有我的jquery
$(function () {
$('ul.tablinkss li').click(function () {
$('ul.tablinkss li').removeClass("active");
$(this).addClass("active");
});
});
谢谢
Html.ActionLink
返回一个超链接,该超链接将使浏览器加载新页面。 JavaScript 在这种情况下不起作用,除非您阻止链接加载下一页。 好吧,它将在一瞬间工作,然后浏览器将显示新页面。
- 登录处于活动状态。
- 用户单击"注册"。
- 由于您的 JavaScript,注册变得活跃。
- 浏览器加载注册页面。
- 登录再次处于活动状态。
您需要在 Razor 模板中修复此问题,而不是在 JavaScript 中修复此问题。
试试这个
$('ul.tablinkss li').on('click',function () {
$('ul.tablinkss li').removeClass("active");
$(this).addClass("active");
});
尝试event.stopPropagation()
:
$(function () {
$('ul.tablinkss li').click(function(e) {
e.stopPropagation()
$('ul.tablinkss li').removeClass("active");
$(this).addClass("active");
});
});