在这个例子中如何正确使用每个函数?

时间:2013-05-01 18:16:33

标签: jquery function each

处理这段代码并且很困难..我想要实现的是,当选择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});
     }
});

3 个答案:

答案 0 :(得分:3)

$('.overlay_message')选择覆盖消息的所有。你想要元素中的一个:

$(this).find(".overlay_message").css({bottom: 90});

答案 1 :(得分:3)

您想在您正在操作的元素中选择.overlay_message

$(this).find('.overlay_message')

答案 2 :(得分: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});