10

我有一系列图像,每个图像都有“照片”类;

我想遍历这些并检索照片源,以供稍后在 if 语句中使用。我已经编写了以下代码来执行此操作,但没有成功:

$.each($(".photo"), function() {
  var imgsrc = $(this).attr("src").length;
  console.log(imgsrc);
});

我不确定我在哪里出错了。这对我来说似乎很有意义,但我在控制台中没有得到任何东西。

谁能指出我正确的方向?

4

4 回答 4

22

如果您为所有 img 标签指定了相同的类名,那么试试这个,

  $(".photo").each(function() {  
   imgsrc = this.src;
   console.log(imgsrc);
  });  
于 2013-02-25T05:50:20.713 回答
4
$(document).ready(function(){
  $(".photo").each(function() {  
       imgsrc = this.src;
       console.log(imgsrc);
  });    
});
于 2013-02-25T05:48:34.387 回答
1

可能是你失踪了doc ready handler

$(function(){
  $.each($(".photo"), function() {
    var imgsrc = $(this).attr("src").length;
    console.log(imgsrc); // logging length it should now print the length
  });
});

确保先加载此脚本,然后加载您的$.each()函数:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
于 2013-02-25T06:06:32.177 回答
0

您正在尝试在lenght这里脱离上下文读取对象/数组的 :

var imgsrc = $(this).attr("src").length;

改成

var imgsrc = $(this).attr("src");

编辑:为了检查属性是否存在

if (imgsrc == undefined) { /* do something */ }
于 2013-02-25T05:52:19.767 回答