我有一个Javascript函数,它循环通过href导航并将其匹配到url位置。如果两者匹配,那么"活跃"类被添加。这很有效,除非有人去了像#34; services / service1"这样的页面。我如何添加逻辑来查看像#34; services / service1"或" blog / post1"只需"服务/"和"博客/"?
这是我当前的功能
scope.$on("$routeChangeSuccess", function (event, current, previous) {
var location = current.$$route.originalPath;
var selectionhref = element.children().find('a');
//Searches for match of routepath url and href, removes siblings active, adds active
(function(){
element.children().each(function(index){
console.log(location);
if($(selectionhref[index]).attr('href') == location){
$(this).siblings().removeClass('active');
$(this).addClass('active');
};
});
})()
}); //routeChangeSuccess
答案 0 :(得分:2)
没有RE或Split
;
var root = location.substr(0, (location + "/").indexOf("/") + 1);
答案 1 :(得分:1)
使用replace
功能。它接受各种参数,一个是正则表达式和替换字符串。
> "services/service1".replace(/[^\/]+$/, "")
'services/'
[^\/]+
匹配任何字符,但不匹配正斜杠/
一次或多次。 $
声称我们处于一条线的末端。