Как изменить атрибут "src" базового элемента - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть следующий HTML (WordPress) HTML Code

Я жестко закодировал идентификатор в него
id="liva-logo

Но это не лучший способ в WordPress, потому чтоЯ теряю это один раз при каждом обновлении темы.

Я использую jQuery для изменения img src, если на определенных страницах.

jQuery(document).ready(function () {
    if(window.location.href.indexOf("livathome") > -1 || window.location.href.indexOf("eigendom") > -1) {
       jQuery("#liva-logo").attr("src","/uploads/Logo-livathome-retina.png");
    }
});

Так что вы можете видеть, что я выбираю #liva-logo

Мне было интересно, смогу ли я выбрать класс div верхнего уровня "logo-desktop" и применить к нему свой jQuery.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Конечно. Вы можете использовать jquery для выбора дочерних элементов. Это просто вопрос выбора правильного фильтра:

$(document).ready(function() {
    if([your if clause]) {
       jQuery(".logo-desktop img").attr("src","yournewsource.jpg");
    }
}

JQuery имеет множество опций для выбора элементов . В этом случае вы можете использовать .logo.logo-desktop img или .logo>a>img ... все зависит от сложности структуры страницы.

Как правило, большинство из нас используют комбинацию класса css (селектор ".") И типа элемента (например, "img", "a", "div" и т. Д.) Для выбора нужного элемента (элементов). .

Вы также можете проверить ДЛИНУ результата, который вы получаете в javascript, чтобы увидеть, возвращает ли выбранный вами селектор что-нибудь острое:

var myImage = $('.logo-desktop img');
if(myImage.length==0) { 
    //length==0 means your selector returned 0 elements
}

Надеюсь, все это поможет!

0 голосов
/ 25 апреля 2018

Вы можете использовать этот селектор:

jQuery(".logo.logo-desktop > a > img").attr(      [...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...