我正在为没有任何服务器端功能的站点创建菜单。因此,我动态地突出显示菜单中当前页面的唯一方法(除其他更改外)是检查当前URL并将其与当前文件的路径进行比较;当它们匹配时,我添加一个“当前”类以及更改其他一些属性的值。将href相对路径与当前URL匹配的正则表达式
的问题是,我的正则表达式只匹配是单个文件名,到其他文件夹不是相对路径的href值。例如,如果我的菜单存储在“类别”文件夹中,href="page.html"
将匹配“http://www.example.com/category/page.html”,但如果我使用href="../category/page.html"
则不匹配。如果我在href中使用根相对路径,则会出现同样的问题。
我现在的正则表达式是/[^\/]+$/)[0]
。以下是整个脚本的样子:
$(document).ready(function() {
var pathname = (window.location.pathname.match(/[^\/]+$/)[0]);
var currA = $("#nav-sub li a[href='" + pathname + "']");
var treeParent = currA.closest(".tree-parent");
treeParent.attr('aria-expanded', 'true');
currA.parents("li").addClass("current");
treeParent.children('a').first().attr('tabindex','0');
});
你知道'/ [^ \ /] + $ /'做什么吗? – Lachezar