我编写了一些JQuery,当用户在wordpress中导航到“page / 2 /”时,侧边栏中会出现一个图像.它的CSS设置为display:none;最初,然后我将JQuery更改为显示:block;如果该URL字符串存在.我写的代码有它向后…所以它对每个页面都做’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
最佳答案
如果条件的值可转换为true,则将输入if块.在Javascript中,任何非零数字都为真,并且当找不到字符串时indexOf的返回值为-1.因此,任何时候它都不存在,它会返回-1,这被视为真,并且输入了if块.
原文链接:https://www.f2er.com/jquery/428044.html将条件更改为显式到您要查找的内容
if (url.indexOf('/page/2/') !== -1) {
$('.sidebarimage').css("display","block");
}