UPDATE2:这不是javascript问题
<li><a href="#"><span <%=ServerSizeLogic.SelectedMenu("Home")%>>Home</span></a></li>
根据您的服务器端技术,这是对服务器端如何处理它的令人讨厌的猜测。ServerSizeLogic.SelectedMenu("Home")或者您使用的任何内容都将返回一个空字符串或“class='test'”。只需确保只有一个 li 元素获得样式并删除客户端代码
// don't do it like this but hopefully you get the gist
ServerSizeLogic::SelectedMenu(string item){
if (item == CurrentPage)
return "class='test'";
return "";
}
更新:显然,一旦您离开页面,您要选择的元素将必须来自服务器(除非您使用 ajax),其中强制转换只是摆脱li:first-child并直接在您的视图代码中设置类当前li元素
原文:这个小小提琴怎么样http://jsfiddle.net/LmUrP/
$(function () {
$("li:first-child").addClass("test");
$('li').click(function () {
$('#menu li').removeClass('test');
$(this).addClass('test');
});
});
html
<ul id='menu'>
<li><a href="#"><span>Home</span></a></li>
<li><a href="#"><span>contact us</span></a></li>
<li><a href="#"><span>apples</span></a></li>
<li><a href="#"><span>bananas</span></a></li>
</ul>