希望是一个简单的问题:
$(document).ready(function(){
$("#regform").validate({
errorPlacement: function (error, element) {
$(element).parent().next().next().hide(); //works
$(element).parent().next('div.test').hide(); //doesn't work
}
});
});
<form id="regform">
<div class="field">
<input name="username" id="username" type="text" class="text required" />
</div>
<div class="dummy">
</div>
<div class="test">
Hide this text
</div>
</form>
我正在尝试使用“test”类来获取div以隐藏验证错误。遍历逐个工作,但包括选择器不起作用。
有人能告诉我我做错了吗?
感谢。
答案 0 :(得分:1)
与siblings()
一起,您可以使用nextAll()
:
$(element).parent().nextAll('.test:first').hide();
这种方法的优点是nextAll()
只能看到以后的兄弟姐妹,而siblings()
看起来都是双向的。我将选择仅限于:first
匹配的元素,因为我认为,如果你想特别隐藏,那么它只是你想要隐藏的第一个项。
答案 1 :(得分:0)
这将隐藏直接嵌套在表单
中的所有.test元素$("#username").parent().siblings(".test").hide();