Привет, вы зацикливаетесь на каждом пост-элементе
$(document).ready(function(){
$("#post-item").each(function(){
$(this).find(".post-title").insertBefore(".image_frame");
});
});
Теперь есть еще одна проблема: вы используете id, который выбирает только один элемент dom, вам нужно либо переименовать post-item из idКласс, как показано ниже
<div class="post-item">
<p class="image_frame">Was on top</p>
<p class="otherDiv">Middle Stuff</p>
<p class="post-title">Was on bottom</p>
</div>
<div class="post-item">
<p class="image_frame">Was on top1</p>
<p class="otherDiv">Middle Stuff</p>
<p class="post-title">Was on bottom1</p>
</div>
<div class="post-item">
<p class="image_frame">Was on top2</p>
<p class="otherDiv">Middle Stuff</p>
<p class="post-title">Was on bottom2</p>
</div>
код jquery
$(document).ready(function(){
$(".post-item").each(function(){
var post= $(this).find(".post-title");
var frame = $(this).find(".image_frame");
post.insertBefore(frame);
});
});
Для поиска другого способа выбрать все пост-элементы
Моя скрипка с коррекцией https://jsfiddle.net/shyamjoshi/xpvt214o/204223/