通过JQuery添加基于URL字符串的CSS类

时间:2012-01-21 21:33:42

标签: jquery url

我编写了一些JQuery,当用户在Wordpress中导航到“page / 2 /”时,侧边栏中会出现一个图像。最初将CSS设置为display:none;,然后如果存在该URL字符串,我将JQuery更改为display:block;。我写的代码有它向后...所以它对每个页面都做'BUT'/ page / 2 /'。

$(document).ready(function() {

var url = window.location.pathname;
if(url.indexOf('/page/2/')){
    $('.sidebarimage').css("display","block");
}});

我一直认为如果在If语句中没有设置条件,它会将其视为true,其他任何条件都视为false。我应该在这里放一个= 1还是什么?我错过了什么?

非常感谢SO

2 个答案:

答案 0 :(得分:4)

如果条件的值可转换为if,则会输入true块。在Javascript中,任何非零数字都是true,并且当找不到字符串时返回值indexOf是-1。因此,只要不存在,它就会返回-1,这被视为真,并且输入了if块。

将条件更改为显式到您要查找的内容

if (url.indexOf('/page/2/') !== -1) {
  $('.sidebarimage').css("display","block");
}

答案 1 :(得分:0)

此Jquery代码仅适用于主页

 $(document).ready(function() {

    var x = location.href;
    var y = location.hostname;
    var z = 'http://' + y + '/';

        if(x == z ){
        $('.class').css("display","block");
    }
        else{
        $('.class').css("display","none");
        }
    });