jquery导航高亮
您好,我正在尝试在 Jquery 中编写一个脚本,自动选择主导航中的当前页面链接。导航只是一个简单的 UL,如下所示:
<ul id="primaryNav">
<li>
<a href="retail.html">Home</a>
</li>
<li>
<a href="vision.html">Our Vision</a>
</li>
<li>
<a href="context.html">Town in context</a>
</li>
</ul>
到目前为止,我的 Jquery 看起来像这样:
$('#primaryNav').find("a[href='"+window.location.href+"']").each(function(){
$(this).addClass("selected");
});
这不起作用,因为我认为它选择整个 URL,而我只需要它选择最后一部分,例如 Retail.html 或 Vision.html 然后添加班级 .selected
有人可以帮忙吗?提前致谢。
Hi I am trying to write a script in Jquery that auto selects the current page link in the main nav. The nav is just a simple UL like this:
<ul id="primaryNav">
<li>
<a href="retail.html">Home</a>
</li>
<li>
<a href="vision.html">Our Vision</a>
</li>
<li>
<a href="context.html">Town in context</a>
</li>
</ul>
My Jquery so far looks like this:
$('#primaryNav').find("a[href='"+window.location.href+"']").each(function(){
$(this).addClass("selected");
});
This doesn't work because I think its selecting the whole URL whereas I just need it to select the last part e.g retail.html or vision.html then add the class .selected
Can anyone please help? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 属性结尾选择器 在这里是安全的 (
$=
而不是=
),如下所示:也不需要
.each()
这里,只需调用.addClass()
会将其添加到所有匹配的元素中(即使您的示例应该有一个)。Use an attribute ends-with selector to be safe here instead (
$=
instead of=
), like this:Also no need for a
.each()
here, just calling.addClass()
will add it to all matched elements (even though there should be one for your example).像这样(也基于页面名称):
Like that (basing on page name too):
一个简单的子字符串怎么样?
What about a simple substring?