0

我需要将 css 类添加到所有 url,从 example.com/mine/first 开始。我知道如何从根地址添加类,但我不能为 /mine/first 路径执行此操作。

这就是我所拥有的:

<script type="text/javascript">
$(function(){
    var pathnameArr = location.pathname.split('/');
    switch (pathnameArr[1]) {
 case 'mine/first':
  $(".container").addClass('dontshow');
 break;
 case 'mine/second':
  $(".container").addClass('dontshow');
 break;
 }
});
</script>

谢谢。

4

4 回答 4

2

你试过indexOf吗?

(function(){
    var pathnameArr = location.pathname;
    if (pathnameArr.indexOf('mine/first')>-1) {
      $(".container").addClass('dontshow');
    }
    if (pathnameArr.indexOf('mine/second')>-1) {
      $(".container").addClass('dontshow');
    }
});
于 2013-09-27T19:49:11.743 回答
1

由于“/”是您的分隔符,“/”不会出现在您的任何值中pathnameArr。而是尝试打开最后一个参数:

$(function(){
    var pathnameArr = location.pathname.split('/');
    switch (pathnameArr.pop()) {
        case 'first':
            $(".container").addClass('dontshow');
            break;
        case 'second':
            $(".container").addClass('dontshow');
            break;
    }
});
于 2013-09-27T19:48:42.073 回答
1

一个可靠的测试方法可能是使用RegExp.prototype.test

$(function() {
  if ((/^\/mine\/(first|second?)/).test(window.location.pathname)) {
    $('.container').addClass('dontshow');
  }
});
于 2013-09-27T19:53:55.547 回答
0

我会使用正则表达式。

$(function () {
    var regexp = /^\/mine\/(first|second)/;
    if ( regexp.test(location.pathname) ) {
        $(".container").addClass('dontshow');
    }
});
于 2013-09-27T19:51:29.053 回答