我正在使用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 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 )将所选元素放在目标之前.