我正在使用jquery将行加载到表中,我想知道如何逐个加载它们; 即第二个块只应在第一个块完成加载后开始加载.
我的表看起来有点像这样:
<table id="dynamicTable">
<thead>
<tr>
<th>Heading</th>
...
</tr>
</thead>
<tbody id="1">
</tbody>
<tbody id="2">
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我的jquery看起来有点像这样:
$("table#dynamicTable tbody").each(function() {
$(this).load("filethatgeneratestablerows.php");
});
Run Code Online (Sandbox Code Playgroud)
(它比这更复杂,因为它根据tbody id生成内容,还包括一个复选框系统来选择你想要影响哪些tbody元素,但是一切正常,所以我把它剥离了以使我的实际问题更明显!)
var bodies = $("table#dynamicTable tbody"),
i = 0;
(function loadBody() {
bodies.eq(i++).load("filethatgeneratestablerows.php", loadBody);
})();
Run Code Online (Sandbox Code Playgroud)
这会一次调用一个集合的每个索引.当一次加载完成后,它将loadBody
使用递增的索引再次调用.
当i
大于最后一个时,.eq()
将返回一个空的jQuery对象,因此序列将在那里结束.
归档时间: |
|
查看次数: |
2682 次 |
最近记录: |