Я работаю с плагином jQuery Validation, и я написал следующий код, который добавляет класс к элементу (<input>
) parent (<label>
), если он не действителен, а также вставляет фактический элемент ошибки (<span>
) до <br>
.
HTML...
<label>
text<br><input>
</label>
... и jQuery.
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
element.parent().addClass('error');
error.insertBefore(element.parent().children("br"));
}
});
Итак, если элемент формы не проверяется, он превращается в:
<label class="error">
text<span>error text</span><br><input>
</label>
Это отлично работает, однако, если содержимое поля будет исправлено и станет действительным, класс, очевидно, не будет удален из его родителя (на самом деле, ни элемент ошибки, а просто получает свойство display: none;
CSS), Как проверить, является ли элемент действительным и удалить его родительский класс, если это так?
Любая помощь будет принята с благодарностью!
Отредактировано: добавлена дополнительная информация.