Добавление класса CSS на основе строки URL через JQuery - PullRequest
5 голосов
/ 22 января 2012

У меня написано несколько JQuery, которые предназначены для того, чтобы, когда пользователь переходит на «страницу / 2 /» в Wordpress, изображение появляется на боковой панели. Первоначально для CSS установлено значение display:none;, а затем JQuery поменяет его на display:block;, если эта строка URL присутствует. Код, который я написал, имеет его задом наперед ... так что он делает это с каждой страницей, НО '/ page / 2 /'.

$(document).ready(function() {

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

Я всегда думал, что если в операторе If не было задано никаких условий, он обрабатывает его как true, а все остальное как false. Должен ли я поставить = 1 или что-то здесь? Чего мне не хватает?

Большое спасибо ТАК

Ответы [ 2 ]

4 голосов
/ 22 января 2012

Блок if будет введен, если значение условия может быть преобразовано в true.В Javascript любое ненулевое число равно true, а возвращаемое значение indexOf, если строка не найдена, равно -1.Следовательно, всякий раз, когда его там нет, он возвращает -1, что считается истинным, и вводится блок if.

Измените условное выражение на явное для того, что вы ищете

if (url.indexOf('/page/2/') !== -1) {
  $('.sidebarimage').css("display","block");
}
0 голосов
/ 17 октября 2014

Этот код 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");
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...