如何在另一个元素之后添加一个元素?


174

我有一个特定的文本框,我想在其后添加一个div。我已经尝试过该.append()功能,但是只将div添加到了元素中。

例如,我有:

<input type="text" id="bla" />

我想将其更改为:

<input type="text" id="bla" /><div id="space"></div>

Answers:


287

尝试使用after()方法:

$('#bla').after('<div id="space"></div>');

文献资料


8
.after()和.insertAfter()方法执行相同的任务。
里法特

7
没错,但这取决于您喜欢编写代码的方式。通常,我通常已经选择了“ #bla”输入,然后再添加额外的内容。不过,纯粹出于我的喜好,我不确定这两种方法是否都具有速度优势。
罗文

37

尝试

.insertAfter()

这里

$(content).insertAfter('#bla');

17
应该不是你的代码更喜欢$('<div id="space"></div>').insertAfter('#bla'),而不是$('#bla').insertAfter(content);
罗恩2010年

6

首先,inputelement不应该带有结束标记(来自http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT:结束标记:禁止)。

第二件事,您需要而after()不是append()功能。


正确,但这就是我尝试使用.append()函数时发生的情况。
skerit 2010年

2
如果是XHTML,则应该关闭input元素(但不要带有结束标记)。
CiscoIPPhone

2
在HTML4中<input>不应该关闭。
德里克·朕会功夫2012年

1

解决了jQuery:在另一个元素之后添加元素

<script>
$( "p" ).append( "<strong>Hello</strong>" );
</script>

要么

<script type="text/javascript"> 
jQuery(document).ready(function(){
jQuery ( ".sidebar_cart" ) .append( "<a href='http://#'>Continue Shopping</a>" );
});
</script>

2
这是不正确的。就像OP声明的那样,这会将元素追加到父元素中。考虑再次阅读问题并修改答案。
伊万·韦兰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.