所以我刚才正在使用jQuery的.load(),看来我们无法配置`$(“#example”).load(‘./uri.ext
`$(“#example”).load(‘./uri.ext #ID1’).load(‘./uri.ext #ID2’).load(‘./uri.ext
如果我们具有DIV的模板文件或用于动态构建页面的文件,而不将HTML存储在字符串变量中或沿这些行存储的东西,那哪种方法当然会有用。此外,我们可以将其中几个文件保存在一个文件中。
理想情况下,我想使用该命令嵌套此类内容:
<div id="example"> <div id="ID1"> <div id="ID2"> <div id="ID3"> </div> </div> </div> </div>
我遇到的问题有两个方面。首先,async : true请求的属性导致下一个请求触发,并且展示位置未按预期进行。然后,我尝试运行嵌套的$(“#example”)。load(’./ uri.ext#ID1’)。ajaxCompletes(function(){/ next .load()按顺序 /})`,最终一个没有结束的递归陷阱,并不断向这些文件发送请求。
async : true
对如何像我尝试过的那样使用语法/方法来完成我的工作有任何想法吗?另外,如果这不是问题,而只是我对jQuery链的理解上的误解,那么对此的任何解释我都会非常感谢。
您需要将它们嵌套在回调函数中以实现此目的:
$('#example').load('./uri.ext #ID1', function() { $('#ID1').load('./uri.ext #ID2', function() { $('#ID2').load('./uri.ext #ID3', function() { // load successful }); }); });
编辑 为 ES6 标准:
$('#example').load('./uri.ext #ID1', () => { $('#ID1').load('./uri.ext #ID2', () => { $('#ID2').load('./uri.ext #ID3', () => { // load successful }); }); });