12

URLにカタログという単語が含まれているかどうかを確認できるようにしたい。

これは私が試していることです...

 $(document).ready(function () {
        if (window.location.href.indexOf("catalogue"))
        {
            $("#trail").toggle();
        }
    }); 

サイトのURLは次のようになります。

http://site.co.uk/catalogue/

または

http://site.co.uk/catalogue/2/domestic-rainwater.html

しかし、それは機能しません。誰かが私がどこで間違っているのか指摘してもらえますか?

4

3 に答える 3

39

試す:

if (window.location.href.indexOf("catalogue") > -1) { // etc

indexOfはtrue/falseを返しません。文字列内の、検索文字列の場所を返します。または、見つからない場合は-1。

于 2012-04-20T09:32:32.760 に答える
3

OPがすでにブール結果を探していたので、別の解決策は次のようになります。

if (~window.location.href.indexOf("catalogue")) {
    // do something
}

チルダ(~)はビット単位のNOT演算子であり、次のことを行います。

~n == -(n+1)

簡単に言うと、上記の式は-1を0に変換して偽りにし、それ以外はゼロ以外の値にして真になります。indexOfしたがって、の結果をブール値として扱うことができます。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#(Bitwise_NOT)

于 2019-01-22T17:02:07.840 に答える
0

include()を使用するだけです。次のコードを参照してください。

$(document).ready(function () {
    if(window.location.href.includes('catalogue')) {
        $("#trail").toggle();
    }
});
于 2020-04-09T12:20:34.607 に答える