我使用ajax返回一些数据,我想将它作为div
的第二个子项插入。问题是如何在最后一个元素之前将一些html插入div中在那个div
$.ajax({
url: '@Url.Action("...", "..")',
traditional: true,
data: { coordinates: coordinates, selectedTypeIDs: selectedTypeIDs, pageNumber: pageNumber },
type: 'POST',
success: function (data) {
$('#listings').insertBefore(".last-child", data);
hideProgress();
},
error: function (xhr, textStatus, errorThrown) {
showErrorMessage("Something whacky happened", errorThrown);
}
这是我的div
,其中有一条评论,显示了我想要放置它的位置
<div id="listings">
<!--bunch of divs-->
<div>something</div>
<!--INSERT DATA HERE-->
<div class="black_box2" id="showMoreBar"></div>
</div>
我可以使用类名black_box2
或者更好,我分配给最后div
的id,或者更快的方式
答案 0 :(得分:15)
$('#listings').insertBefore(".last-child", data);
会将#listings
放在.last-child
之前(对于insertBefore而言,没有第二个参数)。
你想要的是:
$("#showMoreBear").before(data); // put data before #showMoreBear
或者
$(data).insertBefore('.last-child'); // put data before .last-child
.before( content )将内容放在所选元素之前。
.insertBefore( target )将所选元素放在目标之前。