Javascript / jQuery执行顺序问题

我正在使用jQuery尝试从JSON对象构建一个Web应用程序表(使用异步getJson调用),并且我很难达到执行顺序的底部。

我的JS是:

 //create table header $('#peopleDirectory').append( "" +"" ); //iterate through list to create table row: $.each(jsonArray.members, function(i, membObj) { $('#peopleDirectory').append( "" + "" + "" ); }); //end table $('#peopleDirectory').append("
column header!
" + membObj.name + "
");

我创建表和标题行,然后在关闭表之前迭代返回的JSON以创建表行。 但是,如果我使用jQuery $('#peopleDirectory').html()然后它生成表头,然后关闭表,然后追加JSON中的行(并且表没有正确显示)

任何人都可以帮我解释为什么它按此顺序执行追加?

这里的问题可能是您无法将部分HTML附加到您正在执行的元素上。 当你附加

,浏览器实际上也会关闭标签。 然后,当你追加tr等时,它不再在表内,浏览器将再次尝试纠正它,产生破坏的标记。

您需要先构建整个标记,然后才能将其附加。

像这样的东西应该工作:

 var html = "" + ""; $.each(jsonArray.members, function(i, membObj) { html += "" + "" + ""; }); html += "
column header!
" + membObj.name + "
"; $('#peopleDirectory').append(html);