jquery如何检查url是否包含单词?

时间:2012-04-20 09:29:47

标签: javascript jquery

我希望能够检查url是否包含单词目录。

这就是我想要的......

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

该网站的网址可能是..

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

或者

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

但它不起作用。有人可以指出我哪里出错了吗?

3 个答案:

答案 0 :(得分:30)

尝试:

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

indexOf不返回true / false,它返回字符串中搜索字符串的位置;如果没有找到,则为-1。

答案 1 :(得分:2)

鉴于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)

答案 2 :(得分:0)

您可以简单地使用include()。请参考以下代码。

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