jQuery做一些取决于url路径的事情

jQuery do something depends of url path

本文关键字:路径 url 取决于 jQuery      更新时间:2023-09-26

我需要将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>

谢谢。

你试过indexOf吗?

(function(){
    var pathnameArr = location.pathname;
    if (pathnameArr.indexOf('mine/first')>-1) {
      $(".container").addClass('dontshow');
    }
    if (pathnameArr.indexOf('mine/second')>-1) {
      $(".container").addClass('dontshow');
    }
});

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

$(function() {
  if ((/^'/mine'/(first|second?)/).test(window.location.pathname)) {
    $('.container').addClass('dontshow');
  }
});

由于"/"是您的分隔符,因此"/"不会出现在pathnameArr中的任何值中。相反,请尝试打开最后一个参数:

$(function(){
    var pathnameArr = location.pathname.split('/');
    switch (pathnameArr.pop()) {
        case 'first':
            $(".container").addClass('dontshow');
            break;
        case 'second':
            $(".container").addClass('dontshow');
            break;
    }
});

我会使用正则表达式。

$(function () {
    var regexp = /^'/mine'/(first|second)/;
    if ( regexp.test(location.pathname) ) {
        $(".container").addClass('dontshow');
    }
});