jQuery,insertBefore,验证,错误消息的放置

时间:2010-05-17 00:24:39

标签: javascript jquery css validation asp.net-2.0

我在错误放置下使用insertBefore来添加验证消息,每个消息都在彼此之下,因为我希望消息的顺序从上到下。

我在父元素的最底部使用隐藏输入,以便为insertBefore参数提供元素。

有没有办法从底部插入而不使用虚拟隐藏元素?

如果我使用绝对定位,则可能存在空白区域,例如3条堆叠消息,中间区域消失,因为绝对定位没有崩溃。

更新

所以,如果我想在“zzz”之前插入,有没有办法没有“zzz”呢?

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

3 个答案:

答案 0 :(得分:1)

您在寻找$.append()吗?

答案 1 :(得分:1)

如果要在没有隐藏输入的情况下插入div,则需要能够找到要插入的div的引用,然后使用$ .append()函数。

$('ref-to-div').append('<span>message</span>');

答案 2 :(得分:1)

我尝试追加并追加到。我同意它们应该工作,并且它们确实有用,但是在验证插件的上下文中,由于某种原因,两个函数都使用匹配元素的父代替匹配元素并附加到错误元素。此外,验证换行功能已停止使用追加。

我最后更换了虚拟元素并向上移动了一个正在使用的元素,并插入了insertBefore。

这有效:

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

这没有 - 它附加到#zz的父级并且包装函数不起作用。

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