我正在尝试使用 Javascript 和 jQuery 库抓取数据。
到目前为止一切顺利。我能够从标签之间抓取数据。例如我想从 <li>
获取数据标签,我这样做如下:
stuff_found = $(data).find('li');
但是,如果我尝试从 <img>
获取 src使用以下代码标记,仅返回第一张图像。
stuff_found = $(data).find('img').attr();
我需要知道如何返回完整列表(页面上的每个图像),而不仅仅是第一行。
最佳答案
最简单的方法是编写图像选择器以仅获取 <li>
内的图像。标签。然后你可以用 .each()
遍历它们或者,如果您真的只需要图像 src
属性值,.map()
。例如:
var imageList = $('li img').map(function()
{
return $(this).attr('src');
}).get();
在代码示例中发生这种情况:
- 您首先获得
<li>
内的所有图像标签 -$('li img')
部分。 - 然后是
.map()
您应用一个函数来遍历所有这些并提取一个值。基本上是什么.map()
所做的就是它接受一个列表,将给定的函数应用于列表的所有元素,并返回包含新处理的元素的结果列表。 - 带有
$(this).attr('src')
的部分得到实际的src
来自图像标签的值。 - 最后,因为 jQuery 返回它自己的数组类型而不是标准的 javascript 数组,所以您需要执行
.get()
- 这就是将返回的对象从 jQuery 数组转换为标准数组的方法。
关于Javascript/jQuery - 抓取 IMG SRC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16201692/