处理这段代码并且很困难..我想要实现的是,当选择div中有超过2个选项时,覆盖消息的底部位置从10px(在CSS中定义)移动到90px(在jQuery中定义)。问题是它适用于所有覆盖消息(90px),即使我记录结果时我得到2,3和4作为单独的结果。为什么不将结果单独应用于每个包装器div?这不是每个函数的作用,适用于每个单独的吗?
谢谢!
代码:
$(".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});
}
});
答案 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});