鉴于此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>
当我专注于输入时,为什么标签不会淡出?我确信焦点事件正在发生。
由于
答案 0 :(得分:12)
最近看起来是“父母”而不是兄弟姐妹。你想要的是prevAll
:
$('div.MvcFieldWrapper :input').focus(function() {
$(this).prevAll('label.MvcDynamicFieldError').fadeOut();
});
closest
实际上意味着“找到与选择器匹配的最近祖先,包括已满足要求的已选元素。”