微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jquery append()是否异步运行?

我已经看到一些帖子( append supposedly immediate)有相互抵触的答案。我们使用JQuery 1.4(http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js)并且append()似乎是异步的,这样:

编辑以在AJAX回调的上下文中显示代码

...
 var message = $.ajax({
   type: "GET",url: "/getVolumes/" +  _Id,async: false 
 }).responseText;
 if (parseInt(message) != 0){
   var $results = $(message);
   $MAIN_DIV.append($results);
   retrieveTargets();
 }
...    
function retrieveTargets(){
  var $targets = $(".resultTargets");
}

按预期执行和创建页面,但目标查询在运行时不产生任何内容。在JS控制台中运行相同的代码将按预期方式检索元素。

如果这是JQuery中的预期行为,等待直到append完成是什么正确的方法

解决方法

所有评论都帮助追踪了这一点。我在控制台中跟着一只红鲱鱼。
问题不是同步的,而是下面的一行:
$targets.each( function(){
  ...
  this.html();
  ...

需要的

$(this).html();

总之,每个人都是正确的。Jquery append()行为同步。

原文地址:https://www.jb51.cc/jquery/182253.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐