Javascript jquery ajax无法循环遍历找到的数据
我想循环通过一个文件,这是加载了ajax,但它不会循环,我已经尝试了一些事情,但我不能让它工作 //jqueryJavascript jquery ajax无法循环遍历找到的数据,javascript,jquery,ajax,each,Javascript,Jquery,Ajax,Each,我想循环通过一个文件,这是加载了ajax,但它不会循环,我已经尝试了一些事情,但我不能让它工作 //jquery $.ajax({ url: 'file.html', type: "GET", dataType: "html", success: function(data) { $(data).find('div').each(function(i){ alert('found') }); },
$.ajax({
url: 'file.html',
type: "GET",
dataType: "html",
success: function(data) {
$(data).find('div').each(function(i){
alert('found')
});
},
error: function(){
alert('oeps...')
}
});
//file.html
<div>
// content goes here
</div>
<div>
// content goes here
</div>
<div>
// content goes here
</div>
...
...
您不需要将html指定为数据类型,它不是必需的
因此,请删除以下行
dataType: "html"
您不需要将html指定为数据类型,它不是必需的
因此,请删除以下行
dataType: "html"
很难知道你想做什么,但我猜是这样的:
$.ajax({
url: 'file.html',
type: "GET"
success: function(data) {
$.each($('div', data.outerHTML), function(index, item) {
console.log(item);
});
},
error: function(){
console.log('error')
}
});
很难知道你想做什么,但我猜是这样的:
$.ajax({
url: 'file.html',
type: "GET"
success: function(data) {
$.each($('div', data.outerHTML), function(index, item) {
console.log(item);
});
},
error: function(){
console.log('error')
}
});
您需要更改。查找到。筛选。这是因为.find搜索所有元素的子代,但由于html文件只是s,因此需要使用.filter来查找它们
演示:您需要更改。查找到。筛选。这是因为.find搜索所有元素的子代,但由于html文件只是s,因此需要使用.filter来查找它们
演示:之所以不起作用,是因为在数据中查找子体,所有这些div都位于根目录下 您可以创建一个空div,然后将该div的html设置为您的数据。这将确保查找工作,因为div随后将成为子代
$.ajax({
url: 'file.html',
type: "GET"
success: function(data) {
$('<div/>').html(data).each(function(index, item) {
console.log(item);
});
},
error: function(){
console.log('error')
}
});
不起作用的原因是因为在数据中查找子体,所有这些div都位于根 您可以创建一个空div,然后将该div的html设置为您的数据。这将确保查找工作,因为div随后将成为子代
$.ajax({
url: 'file.html',
type: "GET"
success: function(data) {
$('<div/>').html(data).each(function(index, item) {
console.log(item);
});
},
error: function(){
console.log('error')
}
});
在这种情况下,.find不起作用,因为您正在搜索的HTML不包含任何div子节点。要解决此问题,请首先将项目附加到某个容器,然后使用.find
在这种情况下,.find不起作用,因为您正在搜索的HTML不包含任何div子节点。要解决此问题,请首先将项目附加到某个容器,然后使用.find
控制台中有错误吗?如果Starx的建议没有帮助,最好让JSFIDLE演示来检查它。不,我没有收到任何错误,如果我知道该去哪里看,那就好了;控制台中有错误吗?如果Starx的建议没有帮助,最好让JSFIDLE演示来检查它。不,我没有收到任何错误,如果我知道该去哪里看,那就好了;这是完全正确的,事实上,如果您返回HTML,您应该使用它。如果您删除数据类型,它将不起作用,因为默认情况下,数据类型将尝试确定它是什么。@user759235,实际上不是,当您将数据作为$data传递时,它将立即成为jQuery对象。hmmm好的,但当我删除它时,它不会运行。这是完全有效的,事实上,如果返回HTML,您应该使用它。如果删除数据类型,它将不起作用,因为默认情况下,数据类型将尝试检查它是什么。@user759235,实际上不是,当您将数据作为$data传递时,它将立即成为jQuery对象。hmmm好的,但当我删除它时,它不会运行$'div',数据与$data完全相同。查找'div'。@Rocket-oops,忘了什么!$'div',数据与$data完全相同。找到'div'。@Rocket-oops,忘了什么!这是不正确的,查找不起作用,因为它们不是后代,也不是因为它们不在DOM中。@Interstarr\u编码器感谢您的输入,我已经更新了答案。这是不正确的,查找不起作用,因为它们不是后代,也不是因为它们不在DOM中。@Interstarr\u编码器感谢您的输入,我已经更新了答案。是的,你是对的,找到的是搜索儿童,我真是太蠢了。谢谢从技术上讲,它搜索所有的后代,不仅是孩子,还有孩子的孩子。@Interstarr_Coder:真的:-你说得对,查找就是搜索孩子,我真是太蠢了。谢谢从技术上讲,它搜索所有的后代,不仅是孩子,还有孩子的孩子。@Interstarr_编码器:对:-P