我正在尝试使用 Javascript 和 jQuery 库来抓取数据。
到目前为止,一切都很好。我能够从标签之间抓取数据。例如我想从<li>标签中获取数据,我这样做如下:
stuff_found = $(data).find('li');
但是,如果我尝试<img>使用以下代码从标签中获取 src,则仅返回第一张图像。
stuff_found =  $(data).find('img').attr();
我需要知道如何返回完整列表(页面上的每张图片),而不仅仅是第一个。
我正在尝试使用 Javascript 和 jQuery 库来抓取数据。
到目前为止,一切都很好。我能够从标签之间抓取数据。例如我想从<li>标签中获取数据,我这样做如下:
stuff_found = $(data).find('li');
但是,如果我尝试<img>使用以下代码从标签中获取 src,则仅返回第一张图像。
stuff_found =  $(data).find('img').attr();
我需要知道如何返回完整列表(页面上的每张图片),而不仅仅是第一个。
最简单的方法是编写图像选择器以仅获取<li>标签内的图像。然后你可以用 or 遍历它们.each(),如果你真的只需要图像src属性值,.map(). 例如:
var imageList = $('li img').map(function()
{
    return $(this).attr('src');
}).get();
在代码示例中会发生这种情况:
<li>标签内的所有图像 -$('li img')部分。.map()你应用一个函数来遍历所有这些并提取一个值。基本上.map(),它需要一个列表,将给定的函数应用于列表的所有元素,并返回带有新处理元素的结果列表。$(this).attr('src')获取实际值。src.get()的就是将返回的对象从 jQuery 数组转换为标准数组。$('img').each(function(){
    alert($(this).prop('src'));
});
页面上的每个图像..?
$('li img').each(function(){
  var src = $(this).attr('src');
});
或获取它们的列表 -
var list = $('li img').map(function() {
              return $(this).attr('src');
           }).get();