title | tags |
---|---|
getImages |
browser,beginner |
Fetches all images from within an element and puts them into an array
- Use
Element.prototype.getElementsByTagName()
to fetch all<img>
elements inside the provided element,Array.prototype.map()
to map everysrc
attribute of their respective<img>
element, then create aSet
to eliminate duplicates and return the array.
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', '...']