无法使用 EACH 从 IMG SRC 获取 ATTR 值 (jquery)

Can't get ATTR value from IMG SRC using EACH (jquery)

'each' 函数 returns 3 次未定义,而我试图用 3 个不同的 URLS.

得到 3 个不同的结果
var src = $('img').each(function(){
    $(this).attr("src");
alert(src);
    });

我在 S.O 上找到了几个答案。但是 none 他们似乎回答了这个(非常基本的)问题。

我想要做的是用更具体的 URL

替换每个 img url

例如:

a.jpg --> a-ok.jpg
b.jpg --> b-ok.jpg
c.jpg --> c-ok.jpg

这就是为什么我需要使用 EACH 的所有 img 的 URL。

请帮忙。

谢谢

您的代码有误。通过将 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.'));
});
$('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) ) ) ;
});