jquery - 将 insertBefore 与 $.get 的结果结合使用

标签 jquery

我正在尝试使用 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/

相关文章:

jquery - 滚动时的不透明度变化会影响顶部的 div

javascript - 使用数据属性 - 构建一个列表并查看是否存在

jQuery Mobile 使用 AJAX 数据增长文本区域

javascript - 滚动 X 量时将导航更改为 `position: fixed`

javascript - 确定鼠标点击发生在 DIV 的左半部分还是右半部分

javascript - 通过jquery循环Ul和Li

jquery - 设置限制上传框 onClick jquery

javascript - 如何将输入的文本更改为文本框中的超链接?

jquery - 如何使用 jquery 更改页面加载时的元素名称?

javascript - 在 php 中使用唯一的 div Id 传递给 javascript 并用于运行另一个 php 脚本