我通过ajax和回调获取了一些html内容我想获取所有src路径并将它们转换为json。我总是得到404错误,因为它加载了图像。我怎样才能加载它呢?另外,我发现了错误:遗漏的类型错误:转换圆形结构,以JSON获取img的src路径并将其转换为json
这里有一个演示:http://jsfiddle.net/QgFMe/
我能想到的唯一的事情是正则表达式,但我宁愿一个非正则表达式的解决方案。
感谢
我通过ajax和回调获取了一些html内容我想获取所有src路径并将它们转换为json。我总是得到404错误,因为它加载了图像。我怎样才能加载它呢?另外,我发现了错误:遗漏的类型错误:转换圆形结构,以JSON获取img的src路径并将其转换为json
这里有一个演示:http://jsfiddle.net/QgFMe/
我能想到的唯一的事情是正则表达式,但我宁愿一个非正则表达式的解决方案。
感谢
尝试:
$(document).ready(function() {
var pics = [];
$(this).find("img").each(function() {
pics.push($(this).attr("src"));
});
console.log(pics);
var json_data = JSON.stringify(pics);
console.log(json_data);
});
要解决你的JSON错误的.map()
输出传递到.get()
。
这种转换通过.map()
返回到真正的数组伪jQuery对象:
var pics = $(this).find("img").map(function() {
return this.src;
}).get();
NB:$(this).attr('src') === this.src
我不知道解决您的404错误,但 - 见上述评论。
我见过这个之前(但无法找到问题) - 在这种情况下,似乎正则表达式是唯一可行的答案 - 如果您使用它来解析HTML,jQuery会尝试加载图像,正如你发现的那样。 – Alnitak 2012-03-22 15:57:22