【发布时间】:2011-09-18 21:47:18
【问题描述】:
好的,我有一个包含图像的 div,
<div id="image">
<img src="images/medium/1.png" />
</div>
现在我想在单击带有 jQuery 的链接时将 src 更改为 images/medium/2.png。
我已经搜索但找不到它,这就是我在这里问的原因。 我是 jQuery 的初学者,如果你能很好地解释一切,我将不胜感激。
【问题讨论】:
好的,我有一个包含图像的 div,
<div id="image">
<img src="images/medium/1.png" />
</div>
现在我想在单击带有 jQuery 的链接时将 src 更改为 images/medium/2.png。
我已经搜索但找不到它,这就是我在这里问的原因。 我是 jQuery 的初学者,如果你能很好地解释一切,我将不胜感激。
【问题讨论】:
$("#image img").attr("src", "images/medium/2.png") 应该可以解决问题。它选择带有id“图像”的元素中的img 元素,然后更改src 属性。
您可以在链接的click 事件处理程序中运行它,如下所示:
$("#linkId").click(function() {
$("#image img").attr("src", "images/medium/2.png");
});
【讨论】:
.attr("src") = "2.png" - 但你不能用 jQuery 那样分配值。
$("LINK SELECTOR GOES HERE").click(function(){
$("#image img").attr("src","images/medium/2.png");
});
但如果你真的只打算这样做一次,你可能想要使用
【讨论】:
$('#image').click(function(){ // Or whatever element you want to click on
$('img', '#image').attr('src', 'images/medium/2.png'); // Change the src
});
【讨论】:
$('a.imageChanger').click(function()
{
$('#image img').attr('src','newImage.png');
}
这可能会解决问题,但我不确定这是否是一种好方法,因为必须再次加载纹理。大多数时候,您将在 div 中已经存在的两个图像之间切换。在 click 方法上设置一个为可见,一个为隐藏。
例子
<a href="somelink" class="imageChanger">Click here</a>
<div id="image">
<img class="currentImage">
<img class="hiddenImage">
</div>
javascript:
// toggle both classes that display or hide an image.
$('a.imageChanger').click(function()
{
$('#image img')each(function()
{
$(this).toggleClass('currentImage');
$(this).toggleClass('hiddenImage');
});
});
此脚本仅适用于 2 张图片,不适用于 3 张或更多图片。但是已经有很多旋转器插件可用。
还有css:
.hiddenImage
{
display:none;
}
.currentImage
{
}
我没有测试这段代码,但它看起来像这样。这只是一个概念。
【讨论】: