gpt4 book ai didi

javascript - 图片 src 替换不起作用

转载 作者:行者123 更新时间:2023-11-28 09:30:59 26 4
gpt4 key购买 nike

我有一个 Accordion 菜单,事件链接会下拉菜单,将外部页面加载到 div 中,然后在同一单击中更改横幅。除了横幅图像发生变化外,我一切正常。我以为我的代码是正确的,但似乎缺少一些东西,我无法弄清楚。

这是我的 html:

<section id="commercialBanner">
<img src="images/catalog/indoorBanner.jpg"/>
</section>

<section id="accordionNav">
<ul id="nav">
<li id="indoorEntrance" class="category"><a class="ext" id="indoor" href="montage.html">Indoor Entrance</a>
<ul id="indoorEntranceSubmenu" class="sideSub">
<li><a href="montage.html" class="ext">Ecomat Squares</a></li>
<li><a href="gatekeeper.html" class="ext">Gatekeeper</a></li>
<li><a href="absorba.html" class="ext">Absorba</a></li>
</ul>
</li>
<li id="outdoorEntrance" class="category"><a id="outdoor" class="ext" href="aquaFlow.html">Outdoor Mats</a>
<ul id="outdoorEntranceSubmenu" class="sideSub">
<li><a href="aquaFlow.html" class="ext" id="aquaflow">AquaFlow</a></li>
</ul>
</li>
</ul>
<section id="catalog"></section>

这是我的脚本:

$('a.ext').click(function (event){
event.preventDefault();
$('#catalog').load(this.href);
});

$('.category > a').click(function(evt) {
if ($(this).attr('class') != 'active'){
$('#nav li ul').hide();
$(this).next().show()
// $(this).next('li > a').trigger('click')
$('#nav li a').removeClass('active');
$(this).addClass('active');
};
if ($('#indoor').attr('class') == 'active'){
$("#commercialBanner img").attr("src", "images/catalog/indoorBanner.jpg");
};
if ($('#outdoor').attr('class') == 'active'){
$("#commercialBanner img").attr("src", "images/catalog/outdoorBanner.jpg");
};
});

最佳答案

您似乎错误地检查了类属性 - 一个元素上有多个类,因此:

$('#indoor').attr('class') is 'ext active' or 'ext'

正如 @epascarello 所指出的:使用 hasClass("active")。

看这个:

jQuery's attr - return multiple classes not just the 1st

关于javascript - 图片 src 替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13725442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com