我编写了一些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
答案 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");
}
});