2013-02-25 3 views
5

Ich habe eine Reihe von Bildern jeweils mit der Klasse "Foto";JQuery: Holen Sie sich jedes Bild src

Ich möchte durch jede dieser gehen und die Fotoquelle abrufen, später in einer if-Anweisung verwenden. Ich habe den Code unten geschrieben, dies zu tun, haben aber nicht erfolgreich gewesen:

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

Ich bin nicht sicher, wo ich hier falsch gelaufen. Es scheint mir einen Sinn zu ergeben, aber ich bekomme nichts in der Konsole.

Kann mir jemand in die richtige Richtung zeigen?

+0

vermeiden Sie einfach die 'Länge' Sie sind gut zu gehen – coolguy

+0

@ubercooluk danke, aber es scheint nicht zu unterscheiden nce ob ich es benutze oder nicht – MeltingDog

+0

'.photo' ist die Klasse des Bildes..können Sie das überprüfen – coolguy

Antwort

11

Wenn Sie für all img-Tag gleiche Klassennamen gegeben haben, dann dies versuchen,

$(".photo").each(function() { 
    imgsrc = this.src; 
    console.log(imgsrc); 
    }); 
+0

Warum können wir nicht imgsrc = this.attr ('src') verwenden? es wirft mir einen Fehler – Heihachi

+0

Viele Viele Dank Bro, diese Antwort ist sehr nützlich für mich. :) –

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

Sie versuchen die lenght ein Objekt/Array aus dem Zusammenhang lesen hier:

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

Änderung

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

bearbeiten: Um zu überprüfen, ob das Attribut

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

würde das sicher noch funktionieren? Es würde mir nur eine Nummer anstelle einer Zeichenfolge geben. Ich habe da Länge, weil ich machen will und wenn später, zB: if (imgsrc <1) – MeltingDog

+0

Sie können immer noch diese Aussage machen, 'if (imgsrc == undefined)', siehe aktualisierte Antwort – yoda

0

vorhanden sein kann Sie doc ready handler fehlen:

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

stellen Sie sicher, dieses Skript zu laden zuerst dann $.each() Funktion:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>