我正在使用ajax返回一些数据,我想将它作为div的第二个子节点插入.问题是我如何在div中的最后一个元素之前插入一些html到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,或者更快的方式
解决方法
$(‘#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 )将所选元素放在目标之前.