我在错误放置下使用insertBefore来添加验证消息,每个消息都在彼此之下,因为我希望消息的顺序从上到下。
我在父元素的最底部使用隐藏输入,以便为insertBefore参数提供元素。
有没有办法从底部插入而不使用虚拟隐藏元素?
如果我使用绝对定位,则可能存在空白区域,例如3条堆叠消息,中间区域消失,因为绝对定位没有崩溃。
更新
所以,如果我想在“zzz”之前插入,有没有办法没有“zzz”呢?
<div>
<input id="zzz" type="hidden">
</div>
答案 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>");