jquery - insert element after another with multiple containers -
i have following html:
<div class="div one">  <div class="text">one</div>  <svg>object</svg> </div> <div class="div two">  <div class="text">two</div>  <svg>object</svg> </div> <div class="div three">  <div class="text">three</div>  <svg>object</svg> </div> and insert text div after svg object, using this:
$('.div .text').each(function(){  $(this).insertafter('.div svg'); }); but output like: codepen
<div class="div one">  <svg>object</svg>  <div class="text">three</div>  <div class="text">two</div>  <div class="text">one</div> </div> <div class="div two">  <svg>object</svg>  <div class="text">three</div>  <div class="text">two</div>  <div class="text">one</div> </div> <div class="div three">  <svg>object</svg>  <div class="text">three</div>  <div class="text">two</div>  <div class="text">one</div> </div> i suppose each() select each element inside div, not elements , repeat them after target element.
you need find sibling svg element current .div .text element , insert after that. try this:
$('.div .text').each(function() {   $(this).siblings('svg').after(this); }); 
Comments
Post a Comment