我有几个具有相同“name”属性的标签。像这样:
<img name="pic1" src="" />
<img name="pic1" src="" />
<img name="pic1" src="" />
现在,我想替换所有具有相同“名称”的图像的src。我怎么能用Jquery做到这一点。
提前致谢。
答案 0 :(得分:4)
首先,您不应在图像上使用name
属性。相反,请使用class
属性。
然后你会做这样的事情:
$('img.someClassName').attr('src', '/images/foo.jpg');
如果您想查看当前来源,则必须采取另一种方法:
$('img.someClassName').each(function() {
// let's say we only want to alter the src
// for images of ponies
if ($(this).attr('src') == '/images/ponies.jpg') {
// awesome pony detection algorithm triggered!
$(this).attr('src', '/images/unicorn.jpg');
}
});
答案 1 :(得分:1)
请改用类名,以保持HTML有效:
<img class="pic1" src="" />
<img class="pic1" src="" />
<img class="pic1" src="" />
$(function () {
$("img.pic1").attr('src', 'myimg.png');
});
您还可以将函数传递给attr
,以便为每个<img>
元素提供不同的src:
$("img.pic1").attr('src', function (index, oldVal) {
if (oldVal == "default-img.png")
this.src = "img"+index+".png";
else
this.src = "default-img.png";
});
答案 2 :(得分:0)
name对于图片代码不是有效的html属性,但以下内容仍可以使用。
$().ready(function(){
$('img[name="pic1"]').attr('src','new-src-value')
})
答案 3 :(得分:0)
$('img').each(function() {
$('img[name="'+this.getAttribute('name')+'"]').attr('src',newSrc);
});
这是一种更改任何名称
的所有实例的方法答案 4 :(得分:0)
$(function() {
$('img[name=pic1]').attr('src', 'http://placehold.it/50x50');
});
这是jsfiddle上的an example
答案 5 :(得分:0)
将name
标记替换为class
标记,并使用以下内容:
$('img.pic1').each(function(){
this.src = 'new source';
});
答案 6 :(得分:0)
$('img[name="pic1"]').attr('src', 'location.png');
我认为以上一定会奏效:)