web-dev-qa-db-ja.com

Jquery:各画像のsrcを取得する

それぞれが「写真」というクラスの一連の画像があります。

これらのそれぞれを調べて、後でifステートメントで使用するために写真ソースを取得したいと思います。私はこれを行うために以下のコードを書きましたが、成功していません:

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

ここでどこが間違っているのかわかりません。私には理にかなっているようですが、コンソールには何も表示されません。

誰かが私を正しい方向に向けることができますか?

8
MeltingDog

すべてのimgタグに同じクラス名を付けた場合は、これを試してください。

  $(".photo").each(function() {  
   imgsrc = this.src;
   console.log(imgsrc);
  });  
18
EnterJQ
$(document).ready(function(){
  $(".photo").each(function() {  
       imgsrc = this.src;
       console.log(imgsrc);
  });    
});
4
coolguy

_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>
_
1
Jai

ここで、オブジェクト/配列のlenghtをコンテキスト外で読み取ろうとしています。

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

への変更

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

編集:属性が存在するかどうかを確認するため

if (imgsrc == undefined) { /* do something */ }
0
yoda