jQuery验证插件:向元素添加/删除类';s错误容器

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

我正在使用jQuery验证插件,我编写了以下代码,如果无效,将类添加到元素的(
)父级(
),并在

之前插入实际错误元素(

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");
    }
});