2016-05-31 10 views
-4

Ich versuche, die Breite und Höhe bestimmter Bilder gleich (oder genauer gesagt: das div um es), aber irgendwie scheint es nicht zu funktionieren .. Wer kann Hilfe?Js If/Else-Anweisung funktioniert nicht

$('.a2paragraph .image img').each(function() { 
    var img = $('.a2paragraph .image img'); 

    var h = img.height(), 
     w = img.width(); 

    if (h > w) { 
     img.parent().css('height', w); 
    } 
    else if (w < h) { 
     img.parent().css('width', h); 
    } 


}); 

EDIT: änderte den Code, aber immer noch nicht funktioniert:

$('.a2paragraph .image img').each(function() { 
    var img2 = $('.a2paragraph .image img'); 

    var h = img2.height(), 
     w = img2.width(); 

    if (h > w) { 
     img2.parent().css('height', w); 
    } 
    else if (h < w) { 
     img2.parent().css('width', h); 
    } 


}) 
+3

Sie haben also ein Bild mit der ID "img"? Ich bezweifle, dass du das willst. DOM hat keine Höhe() und keine Breite(). Sie vermischen jQuery und DOM. – epascarello

+0

Ja, es war nur, um es zu testen, aber das ist nicht der Fehler obwohl. –

+2

Mögliches Duplikat von [Wie kann ich meinen JavaScript-Code debuggen?] (Http://stackoverflow.com/questions/988363/how-can-i-debug-my-jicascript-code) – Liam

Antwort

5
if (h > w) { 
    img.parent().css('height', w); 
} 
else if (w < h) { 
    img.parent().css('width', h); 
} 

Die if und die else if Bedingungen die gleichen sind. Sie suchen zweimal nach h > w, nur in verschiedenen Aufträgen geschrieben.

+1

plus es vermisst den Fall, wo "h = w" –

+0

@MarcB spielt keine Rolle, da das Gegenteil gesetzt, um die anderen gleich ist ... – epascarello

+0

Oh !! Haha, wow, das ist dumm. Vielen Dank. Nein, es muss nichts tun, wenn sie gleich sind :) –