这是_Layout.cshtml
上菜单的代码<nav>
<div class="cssmenu">
<ul>
<li class='active'><span>@Html.ActionLink("Início", "Index", "Home")</span></li>
<li><span>@Html.ActionLink("Tarefas Contabilidade", "SelectEmpresa", "Empresa")</span></li>
<li><a href='#'><span>Clientes</span></a>
<ul>
<li><span>@Html.ActionLink("Listar clientes", "ListarEmpresas", "Empresa")</span></li>
</ul>
</li>
<li><a href='#'><span>Balancetes</span></a>
<ul>
<li><span>@Html.ActionLink("Listar registos", "ListaBalancetesPorSalaoMes", "Balancete")</span></li>
</ul>
</li>
<li><span>@Html.ActionLink("Sobre", "About", "Home")</span></li>
</ul>
</div>
</nav>
我有这个脚本:
<script type="text/javascript">
$("li").click(function () {
$("li").removeClass("active");
$(this).addClass("active");
});
</script>
我放在那里的第一个标签class =“active”有效,但是当我点击另一个菜单选项卡时脚本似乎不起作用,它只显示第一个有效的 请帮助一下:)
已更新
这是渲染的html:
<nav>
<div class="cssmenu">
<ul>
<li><span><a href="/">Início</a></span></li>
<li><span><a href="/Empresa/SelectEmpresa">Tarefas Contabilidade</a></span></li>
<li><a href='#'><span>Clientes</span></a>
<ul>
<li><span><a href="/Empresa/ListarEmpresas">Listar clientes</a></span></li>
<li><span><a href="/Salao/ListaSalaoByEmpresa">Listar salões</a></span></li>
<li><span><a href="/Salao/ListaEmpregadosBySalao">Gerir empregados</a></span></li>
<li><span><a href="/Empresa/Create">Novo cliente</a></span></li>
<li><span><a href="/Salao/Create">Novo salão</a></span></li>
</ul>
</li>
<li><a href='#'><span>Balancetes</span></a>
<ul>
<li><span><a href="/Balancete/ListaBalancetesPorSalaoMes">Listar registos</a></span></li>
<li><span><a href="/Balancete/UploadFile">Upload novo balancete</a></span></li>
<li><span><a href="/Balancete/GraficoBalancetePorSalao">Mapa Resultados/Gráfico</a></span></li>
<li><span><a href="/Balancete/MapaEstruturaRendimentoseGastos">Mapas Contabilidade/Gestão</a></span></li>
<li><span><a href="/Balancete/MapasGestao">Análise Rentabilidade</a></span></li>
<li><span><a href="/Balancete/alteraTaxas">Alterar taxas</a></span></li>
</ul>
</li>
<li><span><a href="/Home/About">Sobre</a></span></li>
</ul>
</div>
</nav>
我不知道我是否应该将javascript放入div或xD
中泰
答案 0 :(得分:2)
您可以使用child selector
选择所有直接子元素,请尝试以下操作:
$(document).ready(function(){
$(".cssmenu > ul > li").click(function () {
$(this).siblings().removeClass("active");
$(this).addClass("active");
});
})
如果您想选择内置li
代码的ul
代码,可以尝试:
$(document).ready(function() {
$("ul:eq(1) > li").click(function() {
$('ul:eq(1) > li').removeClass("active");
$(this).addClass("active");
});
})
答案 1 :(得分:0)
你可以尝试:
<script type="text/javascript">
$("li a").bind('click', function () {
$("li").removeClass("active");
$(this).addClass("active");
});
</script>
li项目不可点击,因此您必须将click事件绑定到a。
答案 2 :(得分:0)
试
$("li").click(function (e) {
e.preventDefault();
$(this).siblings().removeClass("active").end().addClass("active");
});