jQuery, insertBefore, валидация, размещение сообщения об ошибке - PullRequest
2 голосов
/ 17 мая 2010

Я использую insertBefore в errorplacement для добавления проверочных сообщений, каждое из которых расположено ниже друг друга, так как я хочу, чтобы порядок сообщений шел сверху вниз.

Я использую скрытый ввод в самом низу родительского элемента, чтобы предоставить элемент для аргумента insertBefore.

Есть ли способ вставить снизу, не используя фиктивный скрытый элемент?

Если я использую абсолютное позиционирование, есть возможность для пробела, например, 3 сложенных сообщения, среднее отсутствует, так как при абсолютном позиционировании не происходит свертывания.

Обновление

Так что, если я хочу вставить перед "zzz", есть ли способ сделать это без "zzz"?

<div>
    <input id="zzz" type="hidden">
</div>

Ответы [ 3 ]

1 голос
/ 17 мая 2010

Если вы хотите вставить в div без скрытого ввода, вам нужно будет найти ссылку на div, в который вы хотите вставить, а затем использовать функцию $ .append ().

$('ref-to-div').append('<span>message</span>');
1 голос
/ 17 мая 2010

Я попытался добавить и также добавить. Я согласен, что они должны работать, и они работают, в некотором роде, но в контексте плагина проверки, по какой-то причине, обе функции используют родительский элемент соответствующего элемента вместо соответствующего элемента и добавляют к неправильному элементу. Также перестала работать функция проверки с добавлением.

Я заменил фиктивный элемент и переместил элемент, который использовался на его месте и застрял с помощью insertBefore.

Это сработало:

errorPlacement: function(error, element) {
    error.insertBefore("#zz")
    error.wrap("<p>")

Это не так - оно добавляется к родителю #zz, и функция переноса не работает.

errorPlacement: function(error, element) {
   ("#zz").append(error);
   error.wrap("<p>");
1 голос
/ 17 мая 2010

Вы ищете $.append()?

...