我想将一个类分配给一个href标签,如果他点击它,换句话说,如果一个地址在地址栏中,则为这个标签分配一个类..
我的css中有这种风格..
ul#menu li a {
padding: 10px 20px;
font-weight: bold;
text-decoration: none;
line-height: 2.8em;
color: #465c71;
}
ul#menu li a.selected {
padding: 10px 20px;
font-weight: bold;
text-decoration: none;
line-height: 2.8em;
color: #FFFFFF;
}
只改变字体颜色..
我的mvc3项目的Layout页面中的这个jquery脚本..
我有这个功能..
<script type="text/javascript">
$(function () {
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$("#menu li a").each(function () {
var addr = $(this).attr("href").lastIndexOf("/") + 1;
if (addr == pgurl)
$(this).addClass("selected");
})
});
</script>
pgurl是粗体值http://local.host:81/Home/ 服务(当然,因为我使用并使用另一个jquery函数)
我有一个像这样的href链接..
<li><a href="@Url.Action("Services", "Home")">@MvcWebRole1.Resources.Shared.Layout.Services</a></li>
上面这个会生成一个链接..
<a href="/Home/Services">Services</a>
如果第一个变量与我的页面相同,我想在此标记中添加一个类...我通过firebug或类似的方法(手动添加类)按预期工作..
最后,两个变量应该具有粗体值(服务),但不在标签处添加类,我使用Visual Studio 2010并且我无法测试这些值,我不能在其上放置任何断点来查看它们的值。如上所述,我有另一个类似的功能,可以与另一个列表的标签完美配合..
有人可以帮助我吗?
感谢。
答案 0 :(得分:1)
var addr = $(this).attr("href").lastIndexOf("/") + 1;
以上为number
分配addr
+ 1。然后你继续测试这个数字等于一个字符串,所以除非你的动作是一个数字(不确定它是否可以),否则它总会失败。
也许你打算从链接中获取子字符串
var addr = $(this).attr("href").substr($(this).attr("href").lastIndexOf("/") + 1);