我可以使用jQuery或其他方式访问然后根据src值替换图像吗?

时间:2012-11-16 16:49:45

标签: javascript jquery

我有一个地狱CMS工作,我想知道我是否可以使用jQuery(或直接JS)执行以下操作

图像显示时没有ID或类,我想根据src值替换图像

伪代码就像......

找到img where src = /img/00789-reg-1.jpg'; 并用='img / much-better-img.jpg';

替换src值

谢谢 -

6 个答案:

答案 0 :(得分:5)

每个图像都是document.images提供的数组的一部分。您可以循环浏览图像以查找具有所需源的图像。

var index=0;
while(document.images[index]){
    alert(document.images[index].src);
    index++;
}

答案 1 :(得分:3)

是的,你可以:

jQuery('img[src=/img/00789-reg-1.jpg]').attr('src','img/much-better-img.jpg');

答案 2 :(得分:3)

你可以使用:

var images = document.images;
var iLength = images.length;
for (var i=0; i<iLength; i++){
    thisImage = images[i];
    if (thisImage.src == "theOneThatIWantToReplace"){
        thisImage.src = "myNewSrc"
        break;
    }
}

如果你不需要它,至少这不涉及启动JQuery。

答案 3 :(得分:0)

您可以使用Attribute Starts With Selector查找图片,然后执行替换:

$("img[src^='/img']").each(function(){
    $(this).attr("src", "new image");
});

答案 4 :(得分:0)

var  replace = {
  "/img/00789-reg-1.jpg": "img/much-better-img.jpg",
  "/img/another.jpg": "img/another-img.jpg"
}

for (var src in replace){
  $("img[src="+src+"]").attr("src", replace[src]);
}

答案 5 :(得分:-1)

您可以获取所有图像,然后查看其来源

$('img').foreach(function(o){
  if (o.attr('src')=='oldfile')
    o.attr('src', 'newfile');
});

这很长,但我不知道其他方式。