Javascript / jQuery执行顺序问题
我正在使用jQuery尝试从JSON对象构建一个Web应用程序表(使用异步getJson
调用),并且我很难达到执行顺序的底部。
我的JS是:
//create table header $('#peopleDirectory').append( "column header! " +" " ); //iterate through list to create table row: $.each(jsonArray.members, function(i, membObj) { $('#peopleDirectory').append( "" + "" + membObj.name + " " + " " ); }); //end table $('#peopleDirectory').append("
");
我创建表和标题行,然后在关闭表之前迭代返回的JSON以创建表行。 但是,如果我使用jQuery $('#peopleDirectory').html()
然后它生成表头,然后关闭表,然后追加JSON中的行(并且表没有正确显示)
任何人都可以帮我解释为什么它按此顺序执行追加?
这里的问题可能是您无法将部分HTML附加到您正在执行的元素上。 当你附加
,浏览器实际上也会关闭标签。 然后,当你追加tr
等时,它不再在表内,浏览器将再次尝试纠正它,产生破坏的标记。
您需要先构建整个标记,然后才能将其附加。
像这样的东西应该工作:
var html = "column header! " + " "; $.each(jsonArray.members, function(i, membObj) { html += "" + "" + membObj.name + " " + " "; }); html += "
"; $('#peopleDirectory').append(html);