2019-11-08
描述
获取一个元素中的所有图片,并将他们放到一个数组中。
提示
- 对提供的元素使用
Element.prototype.getElementsByTagName()
方法来获取所有<img>
元素 - 使用
Array.prototype.map()
来获取每一个图片元素中的src
属性 includeDuplicates
参数的默认值为false
,表示需要过滤掉重复的图片地址- 创建一个
Set
来移除重复的图片地址
代码
const getImages = (el, includeDuplicates = false) => {
const images = [...el.getElementsByTagName('img')].map(img => img.getAttribute('src'));
return includeDuplicates ? images : [...new Set(images)];
};
示例
获取页面中所有图片的地址:
getImages(document, true); // ['image1.jpg', 'image2.png', 'image1.png', '...']
获取页面中的不同图片的地址:
getImages(document, false); // ['image1.jpg', 'image2.png', '...']