IDがwrapper
のdivがあり、.append()
を使用して、このdivの末尾に次のようにコンテンツを挿入しています。
$("#wrapper").append('<div class="content"><div class="subcontent">Some stuff</div></div>');
ただし、ラッパーの最後のcontent
divに新しい子beforeを挿入するオプションも必要です。
したがって、HTML出力が次のようになっているとします。
<div id="wrapper">
<div class="content">
<div class="subcontent">
First
</div>
</div>
<div class="content">
<div class="subcontent">
Second
</div>
</div>
</div>
最後の要素の前に要素を挿入したいので、これを取得します:
<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>
どうすればいいですか?
.before()
を使用して、要素の前に兄弟を追加できます。
_$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');
_
.insertBefore()
は、構文を変更して同じことを行います。つまり、追加する要素を選択し、追加する要素を前に渡します。
$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');
_<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>
_
insertBefore()
を使用できます:
_$('<div class="content"><div class="subcontent">Some stuff</div></div>').insertBefore('#wrapper > div:last');
_
またはbefore()
:
_$('#wrapper > div:last').before('<div class="content"><div class="subcontent">Some stuff</div></div>');
_
_:last-of-type
_で最後の要素を選択し、before()
を使用して新しい要素を追加します。
$('.content:last-of-type').before('<div class="new">test</div>');
_.new { color:red }
_
_<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>
_
insertBefore
を使用:
$('<div class="content"><div class="subcontent">Third</div></div>').insertBefore('#wrapper .content:last');
一致する要素のセットのすべての要素をターゲットの前に挿入します。
これは私がそこに着いた方法です:
http://jsfiddle.net/lharby/00tk6avg/
var htmlString = '<div class="content"><div class="subcontent">Some stuff</div></div>'
$(htmlString).insertBefore('.content:last-child');
最後からn番目の子を使用して、最後から2番目のdivを選択できます。フィドル: http://jsfiddle.net/08ta9wnL/
html:
<div id="wrapper">
<div class="content">
<div class="subcontent">
First
</div>
</div>
<div class="content">
<div class="subcontent">
Second
</div>
</div>
</div>
javascript:
$(document).ready(function(){
$("#wrapper div:nth-last-child(2)").append('<div class="content"><div class="subcontent">Some stuff</div></div>');
});
あなたはこのようにすることができます
$("#wrapper .content:last").before("<div class="content"><div class="subcontent">Some stuff</div></div>");
フィドルを見てください https://jsfiddle.net/48ebssso/
$( "<p>Test</p>" ).insertBefore( "#wrapper > div:last-child" );
last()
で最後の項目を選択でき、- before()
追加用
$("#wrapper .content").last().before('<div class="content"><div class="subcontent">Some stuff</div></div>');
<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>