jQueryを使用して、div'foo'にトップマージンを追加したいのですが、別のdiv'foo2'に3つ以上の画像が含まれている場合に限ります。
どうやってやるの ?
$('#foo2 > img').length > 2 ? $('#foo').css('margin-top', '10px') : 0;
if ($('#foo2 img').length>2) $('#foo').css('margin-top', 243);
私は通常、JSで直接cssを指定する代わりに、addClass()
およびremoveClass()
(または統合された)を使用するのが好きです。toggleClass()
それは、スタイルを本来あるべき場所にすべて保持します。
jQuery
$('#foo').toggleClass('newClass', $('#foo2 img').length > 2);
CSS
.newClass { margin-top: 10px; ... }
if ($('#foo2 img').length > 2) {
$('#foo').css('margin-top', 20);
}