2016-05-31 33 views
-4

特定の画像の幅と高さを等しくする(またはより具体的には周囲のdiv)ようにしようとしていますが、何とか動作しないようです。助けて?Js if/else文が動作しない

$('.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); 
    } 


}); 

編集:コードを変更しましたが、まだ動作していない:

$('.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

ID「img」の画像がありますか?私はそれがあなたが望むものであるとは思わない。 DOMにはheight()とwidth()はありません。あなたはjQueryとDOMを混合しています。 – epascarello

+0

それはちょうどそれをテストすることでしたが、それはエラーではありません。 –

+2

JavaScriptコードをデバッグするにはどうすればよいですか?(http://stackoverflow.com/questions/988363/how-can-i-debug-my-javascript-code) – Liam

答えて

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

ifelse if条件は同じです。 h > wを2回チェックしていますが、ちょうど異なる注文で書かれています。

+1

これは 'h = w'の場合には駄目です。 –

+0

@MarcBもう一方を同じに設定することは同じことですので、問題はありません。 – epascarello

+0

ああ!!ハハはうわー、それは愚かな..ありがとう。等しいときは何もする必要はありません:) –

関連する問題