javascript - 如何将节点列表中的 HREF 属性分配到常规数组中?
问题描述
因此,正如您在下面的代码中看到的那样,downloadLinks
变量是<a>
元素的 NodeList,我需要获取href属性并将它们分配到linkContainer数组中。for 循环根本不起作用。我究竟做错了什么?
谢谢!
( () => {
"use strict";
// Variables holding content to show & hide
const tab1 = $("#default"),
tab2 = $("#dim"),
featureList = $("#default-wac-feature-list"),
downloadLinks = document.querySelectorAll("#dropdown-download-links > li > a"),
linkContainer = [];
for(let i = 0; i < downloadLinks.length - 1; i++) {
linkContainer[] = downloadLinks[i].href;
}
console.log(linkContainer);
}) ();
解决方案
使用i < downloadLinks.length
代替i < downloadLinks.length - 1
,并将链接分配给索引 - linkContainer[i]
(或使用Array.push
)。
const downloadLinks = document.querySelectorAll("#dropdown-download-links > li > a"),
linkContainer = [];
for (let i = 0; i < downloadLinks.length; i++) {
linkContainer[i] = downloadLinks[i].href;
}
console.log(linkContainer);
<ul id="dropdown-download-links">
<li><a href="1">1</a></li>
<li><a href="2">2</a></li>
<li><a href="3">3</a></li>
</ul>
一个更简单的选择是直接Array.from()
将 NodeList 转换为 href 数组:
const downloadLinks = document.querySelectorAll("#dropdown-download-links > li > a");
const linkContainer = Array.from(downloadLinks, el => el.href);
console.log(linkContainer);
<ul id="dropdown-download-links">
<li><a href="1">1</a></li>
<li><a href="2">2</a></li>
<li><a href="3">3</a></li>
</ul>
推荐阅读
- android - “解析名称服务器时出错”MongoDb 和 Xamarin.Forms Android
- maximo - Maximo 查看来自发布通道 json 请求的响应
- nginx - 如何在 NGINX 代理后面访问 FastAPI SwaggerUI 文档?
- apache - 如何让浏览器缓存 html 文件?
- javascript - 如何从java编写节点js aes cbc pksc5填充。?
- ios - Swift 检查 iOS 14.5 及更高版本中的 Wifi 错误
- docker - docker:在 gitlab 中找不到命令
- amazon-web-services - 对 Redshift Data API 进行跨账户调用
- c# - 如何从一堆类(继承类)中创建随机对象
- java - 如何在kafka中正确实现指数重试?