Jquery append()是否异步运行?

前端之家收集整理的这篇文章主要介绍了Jquery append()是否异步运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看到一些帖子( append supposedly immediate)有相互抵触的答案。我们使用JQuery 1.4(http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js)并且append()似乎是异步的,这样:

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

...
 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控制台中运行相同的代码将按预期方式检索元素。@H_301_3@

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

解决方法

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

需要的@H_301_3@

$(this).html();

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

猜你在找的jQuery相关文章