我试图通过使用jQuery将CSS类重新分配给列表项来显示单击时哪个菜单项是活动菜单项。我在网上查看了一些示例,并尝试了一些不同的示例,但是我似乎根本无法使我的工作正常进行。有人可以看看我上次尝试的代码,然后告诉我我做错了什么吗?谢谢你的帮助。
HEAD标记中的脚本:
<script type="text/javascript" src="script/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#topnavi ul li a").click(function () {
if ($(this).parent("li").hasClass(".select"))
$("#topnavi ul li a").parent("li").removeClass(".select").addClass(".norm");
$(this).parent("li").removeClass(".norm").addClass(".select");
});
});
</script>
HTML:
<div id="topnavi">
<ul>
<li class="select"><a href="Default.aspx">HOME</a></li>
<li class="norm"><a href="AboutUs.aspx">ABOUT US</a></li>
<li class="norm"><a href="Services.aspx">SERVICES</a></li>
<li class="norm"><a href="Packages.aspx">PACKAGES</a></li>
<li class="norm"><a href="Comments.aspx">COMMENTS</a></li>
<li class="norm"><a href="ContactUs.aspx">CONTACT US</a></li>
<asp:LoginView ID="lvBackgroundSound1" runat="server">
<RoleGroups>
<asp:RoleGroup Roles="administrator"><ContentTemplate><li class="norm"><a href="administration/ManageComments.aspx">ADMIN</a></li></ContentTemplate></asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
</ul>
</div>
当单击列表项中的新锚点时,我想将“ norm”类分配给先前选择的锚点周围的列表项,并将“ select”类分配给新选择的锚点周围的清单项。
使用和时hasClass
,您不需要在类名之前加点。改变addClass
removeClass
if ($(this).parent("li").hasClass(".select"))
$("#topnavi ul li a").parent("li").removeClass(".select").addClass(".norm");
$(this).parent("li").removeClass(".norm").addClass(".select");
到
if ($(this).parent("li").hasClass("select"))
$("#topnavi ul li a").parent("li").removeClass("select").addClass("norm");
$(this).parent("li").removeClass("norm").addClass("select");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句