在激活状态下创建链接
jQuery Make a Link in Active Status
我正在制作一个HTML模板,但我不能触摸HTML代码,我只能在CSS和JS文件上工作。所以我不能以任何方式编辑HTML代码。
我想要实现的是把一些链接在活动状态时,jQuery或Javascript识别到当前页面的URL是我想要放在活动状态的链接之一,而不编辑HTML代码。
有办法吗?我尝试了很多方法,但都没有成功。
这是HTML代码(记住我不能编辑它)。
<span class="Tag_Nav_Aux">
<a href="/my-account/create-account.aspx">Create Account</a>
|
<a href="/my-account/login.aspx">Login</a>
|
<a href="/my-cart/default.aspx">My Cart</a>
</span>
jQuery或Javascript代码应该在不同的链接上工作,而不是我上面报告的那些,因为当用户登录或注销时HTML会发生变化。因此,jQuery应该指向类Tag_Nav_Aux
,并将Active类添加到任何a
标签中,它将发现链接与当前URL相同。
您可以这样做。URL
中的文件名var filename = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
然后从导航中获取锚并应用一些类。
$("span.Tag_Nav_Aux a[href*="+filename+"]").addClass('active');
在这里你必须写一个CSS active
类,这将使该链接看起来像一个活动链接。
试试这个脚本
jQuery(function($){
$('.Tag_Nav_Aux a').filter(function(){
return $(this).attr('href').toLowerCase() === window.location.pathname.toLowerCase();
}).addClass('active');
});
并为
创建一个CSS规则.Tag_Nav_Aux a.active{
// style you want the active link to have
}
$(document).ready(function() {
var url = window.location.href.toLowerCase();
$(".Tag_Nav_Aux a").each(function() {
var $this = $(this);
var href = $this.attr("href").toLowerCase();
if(url.indexOf(href) > -1) {
$this.addClass("active");
}
});
});
我认为您需要检查当前页面url并为项目分配一个类。
我通常在服务器端代码的帮助下根据当前URL匹配class="active"。
如果你不想要服务器代码,你可以使用JavaScript
var currentPage=window.location.href;
if(currentPage=="")
{
//logic to find and add a Class for the proper anchor tag
}
相关文章:
- 使用jQuery迭代数组以创建链接
- 如何在jQuery中以有效的方式创建链接
- 使用其他页面上表单的文本创建链接
- 传单:如何在弹出窗口中创建链接选择器
- 用JavaScript创建链接,并将其集成到createTextNode()中
- 如何为图像的某些部分创建链接
- 如何使用onClick处理程序在React组件中创建链接
- Chrome扩展,从正文中的关键词创建链接
- 根据用户从jQuery UI可选下拉框中选择的内容创建链接
- 在列表中创建链接
- 如何在javascript中创建链接
- 正在节点d3.js之间创建链接,当前返回Uncaught TypeError:无法读取属性'weight'
- 使用 reactjs 创建链接的覆盖
- 如何基于URL的一部分为表中已有的每个链接创建链接
- 基于 Html 表单中的值创建链接,并将其重定向到该链接
- 为字母表中的所有字母创建链接
- 在角度中,创建链接中没有 # 且不修改服务器的 spa
- 无法让javascript从XML列表正确创建链接
- 如何使用 JSON 创建链接,单击这些链接时会显示在单独的
- 如何创建链接/按钮,该链接/按钮将导航到jquery移动页面之外的页面