Javascript 更改已单击菜单项asp.net母版页的样式表
我有一个asp.net母版页,其菜单如下:Javascript 更改已单击菜单项asp.net母版页的样式表,javascript,jquery,asp.net,css,Javascript,Jquery,Asp.net,Css,我有一个asp.net母版页,其菜单如下: <menu id="menu"> <nav id="main_nav"> <ul id="menu-primary"> <li ><a href="./">Home</a></li> <li><a href="staff.aspx">Staff</a></li>
<menu id="menu">
<nav id="main_nav">
<ul id="menu-primary">
<li ><a href="./">Home</a></li>
<li><a href="staff.aspx">Staff</a></li>
<li><a href="">Sales</a></li>
<li><a href="">Support</a></li>
<li><a href="">Administration</a></li>
</ul>
</nav>
</menu>
这一个有效:
//单击页面加载上的第一项
$('#menu primary li').eq(0)。单击()
但由于函数返回false,因此未加载页面
会显示警报,但css不会应用于单击的项目。您可以尝试这样做吗
$("#menu-primary li.current-menu-item").removeClass("current-menu-item");
$(this).addClass("current-menu-item");
<li class="current-menu-item"><a href="#">Menu Item</a></li>
要设置默认选中的第一个菜单项,请向其添加当前菜单项
类,如下所示
$("#menu-primary li.current-menu-item").removeClass("current-menu-item");
$(this).addClass("current-menu-item");
<li class="current-menu-item"><a href="#">Menu Item</a></li>
它不起作用。另外,我想要默认选择的第一个菜单项我添加了这个编辑过的li项。现在,默认情况下第一个项目处于选中状态,但当我单击任何其他菜单项时,它将被选中,然后在每个菜单项上加载页面时选择第一个项目,单击相同的内容。第一项被选中,我没有添加$(“#menu primary li.current menu item”).removeClass(“current menu item”)$(此).addClass(“当前菜单项”)@DotnetSparrow你能在JSFIDLE上提供一个演示并重现这个问题吗?尝试使用nav#main_nav ul li.current-menu-item而不是将样式应用于aThat看起来很好,你确定你在CSS中设置了
当前菜单项的样式吗?链接到您的页面会很好。@Abody97是的,我的css中有当前菜单项。页面未联机yetCan您可以向我们展示您的CSS吗?@Abody97请使用CSS检查更新的问题
<li class="current-menu-item"><a href="#">Menu Item</a></li>
$('#menu-primary li a').each(function() {
var path = window.location.href;
var current = path.substring(path.lastIndexOf('/'));
var url = $(this).attr('href');
if(current=="")
$('#menu-primary li a').first().addClass('current-menu-item');
if (url == current) {
$(this).addClass('current-menu-item');
};
});