Jquery 如何更改;src";基础元素的属性

Jquery 如何更改;src";基础元素的属性,jquery,wordpress,css-selectors,Jquery,Wordpress,Css Selectors,我有以下HTML(WordPress) 我将ID硬编码到其中 id=“liva logo 但这不是WordPress中的最佳实践,因为我在每次主题更新时都会发布一次 在某些页面上,我使用一些jQuery来更改imgsrcif jQuery(document).ready(function () { if(window.location.href.indexOf("livathome") > -1 || window.location.href.indexOf("eigendom"

我有以下HTML(WordPress)

我将ID硬编码到其中
id=“liva logo

但这不是WordPress中的最佳实践,因为我在每次主题更新时都会发布一次

在某些页面上,我使用一些jQuery来更改img
src
if

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应用于该类。

您可以使用此选择器:

jQuery(".logo.logo-desktop > a > img").attr(      [...]

当然可以。您可以使用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
}

希望所有这些都有帮助!

这么简单,我应该知道这一点。我想是隧道视觉!谢谢!反应非常快!很简单,我想是隧道视觉;还在学习!