在其他元素之后附加一个元素

Posted

技术标签:

【中文标题】在其他元素之后附加一个元素【英文标题】:Append an element after other 【发布时间】:2012-10-29 23:19:58 【问题描述】:

我想选择一个元素并将其附加在其他元素之后:

使用这个不起作用:

$('.sub'+$(this).val()).appendTo($(this).parent().parent().parent().parent());

dom 是:

<div class="sub1"></div>


<label></label>

期待这个:

<label></label>
<div class="sub1"></div>

真正的dom:

http://pastebin.com/6Vd6USEp

任务是在标签后附加 div,我根据 input.subN 搜索这个标签并选择 de parentparentparentparentparent

【问题讨论】:

试试 this.val() 不带括号和 $ 符号。 需要更多信息。上下文中的“这个”是什么。为什么是父()x4?整个 DOM 树是什么样的?必须给我们更多细节。你只是交换标签和div的顺序吗?为什么? 如果元素需要保持在同一水平,那么.parent().parent().parent().parent()不是你想要的。 DOM 看起来不完整。 尝试使用 after() 但也不起作用:/ 【参考方案1】:

不确定您要做什么,但这里是: 如果您需要简单地将标签移动到 div 之前,请执行以下操作:

$("label").remove().insertBefore(".sub1");​

如果您需要将 div 移动到标签之后,请执行以下操作:

$(".sub1").remove().insertAfter("label");​

请看这里:http://jsfiddle.net/QpP9J/

【讨论】:

请注意,移动元素时不需要.remove()【参考方案2】:

如果您只想在其他元素之前添加标签,请使用 prepend。 http://api.jquery.com/prepend/

【讨论】:

【参考方案3】:

你需要before()

Live Demo

$('.sub1').before('<label></label>');

【讨论】:

以上是关于在其他元素之后附加一个元素的主要内容,如果未能解决你的问题,请参考以下文章

Javascript在元素之后附加子元素

使用元素树在 xml 中的子元素之后附加兄弟元素

将元素作为兄弟元素附加在元素之后? [复制]

如何在某个类/元素之后将内容附加到元素[关闭]

如果ArrayList的最后一个元素如何排除字符附加

如何在R中循环中的最后一个元素之后附加到列表?