jQuery最近()不适合我(或者我不是为它工作)

时间:2010-01-31 06:26:04

标签: javascript jquery html

鉴于此jQuery:

$('div.MvcFieldWrapper :input').focus(function() {
      $(this).closest('label.MvcDynamicFieldError').fadeOut();
});

并给出了这个HTML:

<div class="MvcFieldWrapper">
    <label class="MvcDynamicFieldPrompt">Enter your email address:</label>
    <label class="MvcDynamicFieldError">Required</label>
    <input type="text" value="" />
</div>

当我专注于输入时,为什么标签不会淡出?我确信焦点事件正在发生。

由于

1 个答案:

答案 0 :(得分:12)

最近看起来是“父母”而不是兄弟姐妹。你想要的是prevAll

$('div.MvcFieldWrapper :input').focus(function() {
      $(this).prevAll('label.MvcDynamicFieldError').fadeOut();
});

closest实际上意味着“找到与选择器匹配的最近祖先,包括已满足要求的已选元素。”