获取元素中的所有图片
从元素中获取所有图片,并将它们放入一个数组中。
- 使用
Element.getElementsByTagName()
获取提供的元素内的所有<img>
元素。 - 使用
Array.prototype.map()
来映射每个<img>
元素的src
属性。 - 如果
includeDuplicates
为false
,则创建一个新的Set
来消除重复项,并在展开为数组后返回。 - 默认情况下,省略第二个参数
includeDuplicates
,以丢弃重复项。
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', '...']