我正在尝试使用 jQuery 来实现此功能
var ng = $.get('/static/views/ng.html');
$('#myHeader').insertBefore(ng);
ng.html 包含这个
<div id="ng">
<div class="c all"></div>
<div class="f all"></div>
<div class="p all"></div>
</div>
它不会引发任何错误,我认为是 $.get 没有返回正确的对象,但不知道如何继续。
有什么想法吗?
谢谢
最佳答案
由于请求是异步的,因此返回的是一个 promise ,而不是查询的结果(尚未存在)。
惯用的解决方案是将回调传递给 get ,当查询结果可用时调用此回调:
$.get('/static/views/ng.html', function(html) {
$(html).insertBefore('#myHeader');
});
您还可以使用返回的对象,即 Promise,以这种等效的方式:
$.get('/static/views/ng.html').success(function(html) {
$(html).insertBefore('#myHeader');
});
请注意,我还反转了 insertBefore 的接收者和参数.
关于jquery - 将 insertBefore 与 $.get 的结果结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545562/