0

Javascript を使用して、内部の画像 div が存在しない場合に、div に margin-bottom を追加したいと思います。クラス noimage を追加することはできません。これは、使用する必要がある CMS (Typo3) では機能しないためです。JS でこれを行う必要があると確信しています。

かなり複雑な構造ですが、次のようになります。

<div class="wrapper">
    <div class="content"></div>
</div>
<div class="wrapper">
    <div class="content"></div>
    <div class="image"></div>
</div>
<div class="wrapper">
    <div class="content"></div>
</div>
<div class="wrapper">
    <div class="content"></div>
    <div class="image"></div>
</div>

したがって、画像がない場合、ラッパー div には margin-bottom が必要です。

ご助力ありがとうございます :)

4

5 に答える 5

1

あなたはこれを行うことができます:

$(".wrapper").each(function() {
    if($(this).find(".image").length == 0) {
        $(this).css('margin-bottom', '10px');
    }
})
于 2013-08-23T10:14:01.417 に答える
0

クラスを追加し、それにあなたmargin-bottomと他のものを追加することをお勧めします。それらを選択するには:not:has

$(".wrapper:not(:has(.image))").addClass("no-image");

ただし、インライン スタイルを使用することに設定されていて、クラスを使用したくない場合は、次の.css()関数を使用します。

$(".wrapper:not(:has(.image))").css("margin-bottom","15px");
于 2013-08-23T10:13:05.793 に答える
0

ショートカットは次のようになります。

$('.wrapper:not(:has(.image))').css('margin-bottom', '10px');
于 2013-08-23T10:12:18.397 に答える