javascript - 从 Javascript 中的元素列表获取 href 列表

标签 javascript foreach

我知道我可以用一个简单的 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/

相关文章:

c# - 没有 goto 语句的嵌套 for-each 和 if-else 语句

C++98 在代码中有效使用 "for_each"

php - 这个 foreach 循环返回双倍的结果

javascript - 如何获取前端代码的 mongodb 查询

javascript - 多个单选按钮组的事件监听器

javascript - 仅当另一个具有特定值时,Node Js Express Validator 才需要字段

php foreach循环重复项

javascript - 将 HTML 编码的字符串 append 为 HTML,而不是文本

javascript - 当单击其外部的内容时,使绝对 div 隐藏

javascript - 理解 JavaScript 中 forEach 和 for 的区别