それぞれが「写真」というクラスの一連の画像があります。
これらのそれぞれを調べて、後でifステートメントで使用するために写真ソースを取得したいと思います。私はこれを行うために以下のコードを書きましたが、成功していません:
$.each($(".photo"), function() {
var imgsrc = $(this).attr("src").length;
console.log(imgsrc);
});
ここでどこが間違っているのかわかりません。私には理にかなっているようですが、コンソールには何も表示されません。
誰かが私を正しい方向に向けることができますか?
すべてのimgタグに同じクラス名を付けた場合は、これを試してください。
$(".photo").each(function() {
imgsrc = this.src;
console.log(imgsrc);
});
$(document).ready(function(){
$(".photo").each(function() {
imgsrc = this.src;
console.log(imgsrc);
});
});
_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>
_
ここで、オブジェクト/配列のlenght
をコンテキスト外で読み取ろうとしています。
var imgsrc = $(this).attr("src").length;
への変更
var imgsrc = $(this).attr("src");
編集:属性が存在するかどうかを確認するため
if (imgsrc == undefined) { /* do something */ }