Я использую jQuery Validation plugin для моей формы. Он позволяет вам изменить значение errorElement и обернуть элемент errorElement с помощью обертки . Но я хочу, чтобы вставить элемент в errorElement так:Вставка элемента в шаблон ошибки jQuery Validation
<label class="error"><em></em>Error message goes here</label>
Есть простой способ сделать вставки эм тег?
0 Я пытаюсь добавить эммм em с помощью опции errorPlacement (см. Ниже), но, похоже, плагин заменяет содержимое errorElement впоследствии.
$.validator.setDefaults({
errorPlacement: function(error, element) {
error.prepend('<em/>');
error.insertBefore(element);
}
});
Я также попытался предваряя ЕМ метку, используя опцию showErrors (см. Ниже) Опять же, похоже, что плагин заменяет содержимое errorElement впоследствии.
$.validator.setDefaults({
showErrors: function(errorMap, errorList) {
for (var i = 0; i < errorList.length; i++) {
var error = errorList[i],
$label = this.errorsFor(error.element),
$element = $(error.element);
if ($label.length && $label.find('em').length == 0) {
$label.prepend('<em/>');
}
}
this.defaultShowErrors();
}
});
Я также попытался модифицировать плагин, так что, когда генерируется элемент ошибки, < эм > тег предваряется. Это работает, пока я не сосредоточусь на элементе формы, который имеет ошибку, после чего удаляется тег em. (Это делает это, потому что проверка JQuery постоянно обновляет содержимое элемента ошибки, как я остановлюсь и/или введите в поле, поэтому удаление моего эм тега добавляется при создании ошибок элемента.)
Это не решение вашей проблемы, поэтому я не буду добавлять его в качестве ответа, но не мог бы вы просто сделать label.error {font-style: italic; } 'в вашем CSS? – lonesomeday
Я не пытаюсь выделить курсивом в целом. Я хочу добавить или добавить элемент (не обязательно должен быть em) в сообщение об ошибке. Проблема заключается в проверке jquery, которая переписывает весь html внутри элемента ошибки. – simshaun