jQuery 的问题
if ( !this.labelContainer.append(label).length )
this.settings.errorPlacement
? this.settings.errorPlacement(label, $(element) )
: label.insertAfter(element);
(此代码来自验证插件,它对每个输入重复)
label
是
element
是
这个效果很好,它直接在 element
之后添加 label
。
看起来像这样:
<dd>
<div>
<input />
<label>text</label>
</div>
</dd>
如何将 label
放置在
(element
的父级)之后,而不是在 之后>element
?脚本的完整代码:
http://www.jsfiddle .net/YSSCE/1/(搜索label.insertAfter(element)
)
if ( !this.labelContainer.append(label).length )
this.settings.errorPlacement
? this.settings.errorPlacement(label, $(element) )
: label.insertAfter(element);
(this code is from validate plugin, it repeats for each input)
label
is <label>text</label>
element
is <input />
This works good, it adds label
directly after the element
.
Looks like this:
<dd>
<div>
<input />
<label>text</label>
</div>
</dd>
How to place label
after the <div>
(element
's parent), not after the element
?
Full code of the script:
http://www.jsfiddle.net/YSSCE/1/ (search for label.insertAfter(element)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
insertAfter
。 jsFiddle 示例。更新您的代码 (v2):
Use
insertAfter
. Example on jsFiddle.Updating your code (v2):
element.parent 获取元素的父级。
或者可能
element.parent gets the parent to the element.
or possibly
将 label.insertAfter(element) 更改为 label.insertAfter(element.parent())
但如果您的 HTML 标记发生更改,这可能会导致问题。
Change label.insertAfter(element) to label.insertAfter(element.parent())
But this could cause problems if your HTML markup changes.