0

このコードに取り組んでいて、かなり立ち往生しています。私が達成しようとしているのは、選択 div に 2 つ以上の選択がある場合、オーバーレイ メッセージの下部の位置が 10px (CSS で定義) から 90px (で定義) に移動することです。 jQuery)。問題は、すべてのオーバーレイ メッセージ (90px) に適用されていることですが、結果をログに記録すると、2、3、および 4 が別々の結果として得られます。結果を各ラッパー div に個別に適用しないのはなぜですか? これは、各関数が個別に適用するために行うことではありませんか?

ありがとう!

デモ: http://jsfiddle.net/6qD52/

コード:

$(".overlay").each(function() {
    selection_number = $(this).parent().find(".selections").find(".selection").length;
    console.log(selection_number);

     if ((selection_number) > 2) {
        $(".overlay_message").css({bottom: 90});
     }
});
4

3 に答える 3

3

$('.overlay_message')すべてのオーバーレイ メッセージを選択します。要素の中に 1 つが必要です。

$(this).find(".overlay_message").css({bottom: 90});
于 2013-05-01T18:18:18.403 に答える
3

操作している要素内に.overlay_messageあるを選択したい:

$(this).find('.overlay_message')
于 2013-05-01T18:18:33.417 に答える
2

これを試して:

// Selects the 'overlay_message' div inside the current 'overlay' div
$(this).find(".overlay_message").css({bottom: 90});

これの代わりに:

// Selects all the 'overlay_message' div
$(".overlay_message").css({bottom: 90});
于 2013-05-01T18:19:51.230 に答える