Box*_*iom 16 html javascript jquery append
我有一个带ID的div wrapper,我.append()用来在div的末尾插入一些内容,如下所示:
$("#wrapper").append('<div class="content"><div class="subcontent">Some stuff</div></div>');
Run Code Online (Sandbox Code Playgroud)
但是,我还希望选择在包装器中的最后一个div 之前插入一个新子content节点.
因此,如果HTML输出如下所示:
<div id="wrapper">
<div class="content">
<div class="subcontent">
First
</div>
</div>
<div class="content">
<div class="subcontent">
Second
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想在最后一个元素之前插入一个元素,所以我得到了这个:
<div id="wrapper">
<div class="content">
<div class="subcontent">
First
</div>
</div>
<div class="content">
<div class="subcontent">
Third
</div>
</div>
<div class="content">
<div class="subcontent">
Second
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
Sci*_*ter 23
您可以使用.before()在元素之前添加兄弟:
$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');
Run Code Online (Sandbox Code Playgroud)
.insertBefore() 使用不同的语法执行相同的操作,即选择要添加的元素,然后传递要添加的元素.
$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="wrapper">
<div class="content">
<div class="subcontent">
First
</div>
</div>
<div class="content">
<div class="subcontent">
Second
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
您可以使用insertBefore():
$('<div class="content"><div class="subcontent">Some stuff</div></div>').insertBefore('#wrapper > div:last');
Run Code Online (Sandbox Code Playgroud)
或者before():
$('#wrapper > div:last').before('<div class="content"><div class="subcontent">Some stuff</div></div>');
Run Code Online (Sandbox Code Playgroud)