jQuery closest() 对我无效(或者是我对它无效)

3

假设有以下jQuery代码:

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

And given this HTML:

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

13

closest方法查找的是“父元素”,而不是兄弟元素。你需要使用prevAll方法:

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

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


2
@Jonathan 我知道你在,所以我必须打得超快并且经常发布 :) - Doug Neiner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接