我知道我可以用一个简单的 for 循环来做到这一点,但我试图更好地理解如何使用 forEach
。
我想做的是,拥有来自 querySelectorAll() 的“a”元素列表,以获得具有 href 属性的数组。怎么了?
var links = document.querySelectorAll("a");
function get_hrefs(links){
var links_array = links.forEach(function(elem){ return elem.getAttribute("href"); });
return links_array;
}
get_hrefs(links);
最佳答案
使用slice
获取数组,如下所示:
var links = Array.prototype.slice.call(document.querySelectorAll("a"));
var links_array = links.map(function(elem){ return elem.getAttribute("href"); });
<小时/>
至于更新的问题:
var links = document.querySelectorAll("a");
function get_hrefs(links){
links = Array.prototype.slice.call(links);
return links.map(function(elem){ return elem.getAttribute("href"); });;
}
get_hrefs(links);
关于javascript - 从 Javascript 中的元素列表获取 href 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697237/