jQuery验证插件:向元素添加/删除类';s错误容器
我正在使用jQuery验证插件,我编写了以下代码,如果无效,将类添加到元素的(jQuery验证插件:向元素添加/删除类';s错误容器,jquery,element,highlighting,jquery-validate,Jquery,Element,Highlighting,Jquery Validate,我正在使用jQuery验证插件,我编写了以下代码,如果无效,将类添加到元素的()父级(),并在之前插入实际错误元素() HTML <label> text<br><input> </label> 因此,如果表单元素未验证,它将变成: <label class="error"> text<span>error text</span><br><input> </labe
)父级(
),并在
之前插入实际错误元素(
)
HTML
<label>
text<br><input>
</label>
因此,如果表单元素未验证,它将变成:
<label class="error">
text<span>error text</span><br><input>
</label>
text错误文本
但是,这非常有效,如果一个字段的内容被更正并变得有效,那么该类显然不会从其父类中删除(实际上,error元素也不会,相反,它只会得到一个display:none;
CSS属性)。我如何检查一个元素是否变为有效元素并删除它的父类
任何帮助都将不胜感激
编辑:添加了更多信息。经过更深入的挖掘,我发现答案就在我眼皮底下,但不幸的是,对我来说,答案隐藏得很好。插件有一个内置的突出显示功能(惊喜,惊喜)。通常,它会高亮显示/取消高亮显示图元,但可以很容易地将其转换为在图元的父级上工作:
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
error.insertBefore(element.parent().children("br"));
},
highlight: function(element) {
$(element).parent().addClass("error");
},
unhighlight: function(element) {
$(element).parent().removeClass("error");
}
});
我希望这能帮助别人
errorElement:“无”
对我有效。你节省了我的时间:p谢谢
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
error.insertBefore(element.parent().children("br"));
},
highlight: function(element) {
$(element).parent().addClass("error");
},
unhighlight: function(element) {
$(element).parent().removeClass("error");
}
});