当我尝试通过3个不同的URL获得3个不同的结果时,“每个”函数返回3次未定义的结果。

var src = $('img').each(function(){
    $(this).attr("src");
alert(src);
    });

我在SO上找到了几个答案,但是似乎都没有一个答案可以回答这个(非常基本的)问题。

我要做的是将每个img网址替换为更具体的网址

例如:

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

这就是为什么我需要使用EACH来获取所有img的URL的原因。

请帮忙。

谢谢

#1楼 票数: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.'));
});

#2楼 票数: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) ) ) ;
});

  ask by Filippo Bonino translate from so

未解决问题?本站智能推荐:

2回复

jQuery从数组获取attr值

目标:获取存在的属性(标题或占位符或alt)值。 如果元素具有标题,则返回标题,如果没有,则检查占位符,然后选择alt。 例如: 旧的解决方案: 真正的解决方案:( 感谢mplungjan )
5回复

使用Jquery.attr()获取DIV ID

我想使用.each和.attr函数获取div ID。 我知道该怎么做,但是我想做的是从DOM中获取具有特定类(例如“ edit”类)的每个div ID,然后将一些数据附加到该div中。 这是我遇到的麻烦:我想将该特定DIV的ID放在.append内的.each循环中。 例如:如果我想在
1回复

使用.each(),我想.append()一个数值到.attr()ibute的一个数字。 在JQuery中

我想在<input>的value属性中用逗号分隔数字。 问题是它会删除它并在其中放入一个新数字,而不是将其附加到属性的末尾。 谁能帮到这里??? 你在这个html中看不到的是JQuery UI在将某些内容放入div时构建的内容。 list元素如下所示: 我已经在l
4回复

$(this).attr('id')为.each返回未定义的错误jquery

我有以下HTML: 和Jquery: 但是我在控制台中收到一条错误消息,提示bioId未定义。 有什么想法吗? http://jsfiddle.net/xm679zbe/
5回复

jquery 更改输入字段的所有值 attr

这不适用于表单字段。 假设我在 html 中有这个: 我有这样做的javascript: 我想操纵 DOM,以便当我们检查元素“某物”时,它反映了这一点: 如果我在 jquery 中明确地这样做,它会起作用: 但我需要更通用的东西 - 我需要更改每个输入项,使其表现得像这样。 所
3回复

HTML / Jquery:$('a')。attr('href')和.each?

我的问题与HTML和Jquery有关。 我在HTML代码中有一些链接,如下所示: 在当前的JQuery脚本中,我具有以下代码: 该脚本的作用(或最终应该做的)取决于所单击的链接(请参见HTML代码)在一个隐藏的div(#box1,#box2等)中淡入淡出。 我添加了#sh
3回复

如何检查jquery中的空attr()?

我有一些使用PHP创建的div。 div中的锚点总是有一个HREF,即使它是空白的。 基本上,我试图检测HREF是否为空白。 如果它有内容,则不执行任何操作,如果它为空白,则删除文本,删除锚点,然后将文本放回原位。 这是div: 这是我的代码:
2回复

删除Attr并添加(如果存在类)-jQuery

您好,我有一个小的代码问题: 我想做的是: 使用class="delayDiv"查找class="delayDiv" 然后将样式属性保存在变量中 然后,在同一div中搜索class =“ visible”(我使用viewportChecker.js添加此类,这意