0

example.com/mine/first から始まるすべての URL に css クラスを追加する必要があります。ルート アドレスからクラスを追加する方法は知っていますが、/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

これをテストする堅牢な方法は、RegExp.prototype.testを使用することです。

$(function() {
  if ((/^\/mine\/(first|second?)/).test(window.location.pathname)) {
    $('.container').addClass('dontshow');
  }
});
于 2013-09-27T19:53:55.547 に答える
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 に答える
0

正規表現を使用します。

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