首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript正则表达式匹配url的两个部分(菜单和子菜单)

javascript正则表达式匹配url的两个部分(菜单和子菜单)
EN

Stack Overflow用户
提问于 2016-07-28 17:23:26
回答 1查看 495关注 0票数 0

我想在活动的菜单项中添加一个“活动”类。

这很好,就像这样:

代码语言:javascript
复制
var url = window.location.pathname;
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");

$('.menu li a').each(function(){
        var hreflink = $(this).attr("href");

        if(urlRegExp.test(this.href.replace(/\/$/,''))){
            $(this).parent().addClass('active');
        }
});

我还在页面上有第二个菜单(一个子菜单,但不在主菜单附近),其中包含该页面的子菜单的链接列表,我还想在子菜单中添加一个“活动”类(同时也添加主菜单)。

例如,当我在这个页面上的时候:

代码语言:javascript
复制
www.website.com/shops/cds
  • 我想在主菜单(li项目)中的“商店”中添加活动类。
  • 我想将活动类添加到子菜单(li项)中的"cds“中。

目前,上面的正则表达式只适用于主菜单,如果我在一个子页(子页面)上,它将对子菜单起作用,但对两个子菜单都不起作用。

有人能帮帮我吗?-)

非常感谢!!

亲切问候本

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-28 17:40:48

我使用一个名为http://www.regexr.com/的站点作为我所有的JS。

这个Regex获取您的组件:

代码语言:javascript
复制
/\/(([a-z])+)/ig

下面是一个给您的示例程序:

代码语言:javascript
复制
var url = 'www.website.com/shops/cds'
var reg = /\/(([a-z])+)/ig

var test = $('#test')

var match = reg.exec(url);
while (match != null) {
  test.append('<div>' + match[1] + '</div>')
  match = reg.exec(url);
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  Test for: www.website.com/shops/cds
</div>
<div id="test">
  
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38642955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档