Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery load()不使用数组循环_Javascript_Jquery_Arrays_Loops - Fatal编程技术网

Javascript jquery load()不使用数组循环

Javascript jquery load()不使用数组循环,javascript,jquery,arrays,loops,Javascript,Jquery,Arrays,Loops,我试图做的是将数百个文件的列表存储在一个数组中,并使用jquery load()函数逐个循环加载它们的内容 我对jquery和javascript知之甚少,这是我设法编写的,但它不起作用 var files=['index1c.html','index23c.html']; for(var index = 0; index < files.length; index++){ var file = files[index]; $('#result').load('file .de

我试图做的是将数百个文件的列表存储在一个数组中,并使用jquery load()函数逐个循环加载它们的内容

我对jquery和javascript知之甚少,这是我设法编写的,但它不起作用

var files=['index1c.html','index23c.html'];

for(var index = 0; index < files.length; index++){
    var file = files[index];

$('#result').load('file .desc');
}
更改:

$('#result').load('file .desc');
致:

请注意,load方法在附加新内容之前删除元素的内容。您可以创建唯一的ID,如
result1
result2
。。。和代码:

for(var index = 0; index < files.length; index++){
    var file = files[index];
    $('#result' + (index + 1) ).load(file + ' .desc');
}

或者,如果要附加
数据
,可以使用
$.get
实用函数,而不是
load
方法。

您使用的是文本字符串
'file.desc'

看起来您需要
文件+'.desc'


'ab'
是字符串
ab
,而
a+'b'
是将变量a的内容附加到字符串
'b'
的字符串
jQuery.ajaxSetup({async:false})

{async:false}
将保留rest代码的执行。一旦得到ajax代码的响应,其余代码将被执行。执行ajax响应后,将其重置为
async
为true
jQuery.ajaxSetup({async:true})

所以最终的代码是

var files=['index1c.html','index23c.html'];

for(var index = 0; index < files.length; index++){
    var file = files[index];
    jQuery.ajaxSetup({async:false});
    $('#result').load('file .desc');
    jQuery.ajaxSetup({async:true})
}
var文件=['index1c.html','index23c.html'];
对于(var index=0;index
.load()
将在每次加载新文件时覆盖
#result
的内容。这就是你想要发生的事吗?@Blender:不,我想添加内容。是的,这就是load()所做的,我没有注意到这一点。任何解决方案?“数百个文件”。可怜的小服务器,可怜的小客户端,可怜的小互联网。@工程师:如果在URL之后传递了选择器,jQuery将使用这些元素而不是整个页面。@Blender感谢您提供的信息。我不知道。有什么方法可以防止它被覆盖,而不是被附加吗?@Abhi您可以使用
$.get
实用程序功能。可能的问题是Abhi-您需要保证文件的内容按请求的顺序列出吗?对于直接的循环加载,这是不能保证的。@未定义:我尝试使用
$。get
,但看起来我需要使用一些服务器端技术来获取正确格式的数据。我尝试了这段代码
$.get('index1c.html',函数(数据){alert(“数据加载:+data);})
但是它提供了加载的
数据:[object XMLDocument]
并且当我解析xml时,它显示了
null
@Abhi实际上同时加载了load和$。get需要服务器工作,如果您的服务器运行,请从服务器返回的
数据创建一个jQuery对象,找到元素,然后将其追加到
$(数据)。find('.desc')).appendTo(“#结果”)
for(var index = 0; index < files.length; index++){
    var file = files[index];
    $('#result' + (index + 1) ).load(file + ' .desc');
}
var $results = $('.results')
for(var index = 0; index < files.length; index++){
    var file = files[index];
    $results.eq(index).load(file + ' .desc');
}
var files=['index1c.html','index23c.html'];

for(var index = 0; index < files.length; index++){
    var file = files[index];
    jQuery.ajaxSetup({async:false});
    $('#result').load('file .desc');
    jQuery.ajaxSetup({async:true})
}