我已经设置了一个活动状态的jQuery导航。现在我想修改代码,以便它使用URL的子字符串来执行活动状态。我想让脚本仅检测URL中“%5E”之后的数字,因为我的所有URL都完全相同,唯一不同的是“%5E”之后的数字。谢谢大家!
$(function() {
var pathname = window.location.pathname;
var page = pathname.match(/\/([^\/]+\.[^\/]+)/)[1];
var target = $('#menu a[href*="' + page + '"]');
$(target).addClass('active');
});
<ul id="menu">
<li id="Div1"><a href="/cat/1267-sale.aspx/1/80000000%5E1269">All</a></li>
<li id="Div2"><a href="/cat/1267-sale.aspx/1/80000000%5E1266">Div1</a></li>
</ul>
答案 0 :(得分:1)
正则表达式应该是......
var page = pathname.match(/\^(\d+)$/)[1];
正如Shanoop建议的那样,肯定会在您的网址中使用^
重新考虑。
---更新---
根据OP发布的新网址格式更新了正则表达式
var pathname = "/cat/1267-sale.aspx/1/80000000%5E1269";
var match = pathname.match(/[%5E|^](\d+)$/);
var page = match ? match[1] : null;