Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
86
rated 0 times [  88] [ 2]  / answers: 1 / hits: 42821  / 9 Years ago, wed, may 6, 2015, 12:00:00

I have a div with the ID wrapper, and I am using .append() to insert some content at the end of that div, like this:



$(#wrapper).append('<div class=content><div class=subcontent>Some stuff</div></div>');


However, I also want the option to insert a new child before the last content div in the wrapper.



So if the HTML output looks like this:



<div id=wrapper>
<div class=content>
<div class=subcontent>
First
</div>
</div>
<div class=content>
<div class=subcontent>
Second
</div>
</div>
</div>


I want to insert an element before the last one, so I get this:



<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>


How would I do this?


More From » jquery

 Answers
3

You could use .before() to add a sibling before the element:



$(#wrapper .content:last).before('<div class=content><div class=subcontent>Third</div></div>');


.insertBefore() does the same thing with a different syntax, namely that you select the element to be added, and pass the element you want to add it before.





$(#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>




[#66723] Monday, May 4, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
chelseyn

Total Points: 36
Total Questions: 85
Total Answers: 89

Location: Laos
Member since Fri, Sep 11, 2020
4 Years ago
chelseyn questions
;