每个'当我试图用3个不同的URL获得3个不同的结果时,函数返回3次未定义。
var src = $('img').each(function(){
$(this).attr("src");
alert(src);
});
我在S.O.找到了几个答案。但他们似乎都没有回答这个(非常基本的)问题。
我想要做的是用更具体的网址替换每个img网址
例如:
a.jpg --> a-ok.jpg
b.jpg --> b-ok.jpg
c.jpg --> c-ok.jpg
这就是为什么我需要使用EACH的所有img的URL。
请帮忙。
由于
答案 0 :(得分:5)
你的代码错了。通过将src
变量分配给$('img').each
,您将获得元素集合,而不是src
属性。
应该是:
$('img').each(function(){
var src = $(this).attr("src");
alert( src );
});
要替换src
属性,您需要在each
回调函数中执行此操作。
例如:
$('img').each(function(){
var src = $(this).attr("src");
$(this).attr("src", src.replace('.', '-ok.'));
});
答案 1 :(得分:0)
$('img').each(function(){
var src = $(this).attr("src");
console.log( src );
// now override the src
var pos = src.lastIndexOf("."); // there can be numerous . in the url
$(this).attr('src', ( src.substring(0,pos) + '-OK.'+src.substring(pos+1) ) ) ;
});