2016-09-01 5 views
0

以下のjQuery関数が正常に動作し、URLに基​​づいて/signin/ページの<body> HTML要素にfullクラスを追加します。jQueryを使ってフロントページと内部ページにボディクラスを追加するには?

// add full class to sign in page body based on url 

$(function() { 
    var loc = window.location.href; // returns the full URL 
    if(/signin/.test(loc)) { 
    $('body').addClass('full'); 
    } 
}); 

私はこの同じ関数内のフロント/ホーム・ページ、または/ URLでまったく同じことを達成したいです。これはどうすればいいですか?

+0

追加のクラスを追加しようとしていますか? – aphextwix

+0

@aphextwix 'full'クラスを' 'HTML要素に追加したいと思います。 – Liz

+0

私の答えを見てください。私はあなたがそれを探していると信じています。 – Vasif

答えて

1

Regexesは遅いです。より速い方法:

function() { 
    var loc = window.location.pathname; // returns the pathname 
    if(loc == '' || loc == '/') { 
     $('body').addClass('full'); 
    } 
}); 
+0

これはうまくいきました - 少し速かったようです。 – Liz

+0

@LizBanachサービスの喜び! –

0

適切な正規表現を使用する。あなたの場合は/^\/$/です。

/^\/$/.test('/') // true 
/^\/$/.test('/asdf') //false 

さらにあなたのケースで追加します。私は、使用するだろうwindow.location.pathname

$(function() { 
    var loc = window.location.pathname; // returns the pathname 
    if(/^\/$/.test(loc)) { 
     $('body').addClass('full'); 
    } 
}); 
+0

これは私のために働いた。私の最終的なコードは次のとおりです。 '// BGのイメージのためのページ本体に $(関数(){ するvar LOC = window.location.pathnameに署名する完全なクラスを追加します。(/サインイン/場合//パス名 を返します。 (body)。$( 'body')。addClass(.test(loc)){ $( 'body') 'full'); } }); ' – Liz

関連する問題