javascript - 如何使用javascript读取html "<a>"标签中的所有href链接

标签 javascript html

我需要使用 javascript 获取所有 href 链接值。我有这个代码,

<body onload="myFunction()">
<div class="pull-right">
    <a class="download-link" id="download_link" href="%file_url%">Download</a>
</div>
</body>

是这样显示的

<a class="download-link" href="http://mysite.com/download/myfiles/file1.pdf">Download</a>
<a class="download-link" href="http://mysite.com/download/myfiles/file2.docx">Download</a>
<a class="download-link" href="http://mysite.com/download/myfiles/file3.zip">Download</a>
<a class="download-link" href="http://mysite.com/download/myfiles/file4.html">Download</a>

但如果我在下面的代码中使用原生 javascript,则只会显示第一项。

<script type="text/javascript">
function myFunction()
{
var url = document.getElementById("download_link").href;
var ext = url.split('.').pop();
alert(ext);
}
</script>

当我使用 javascript 显示项目时,为什么我只得到一个输出?自从我拆分文件后,我使用他们的文件扩展名对其进行了测试。知道 javascript 缺少什么吗?我只想连续显示(提醒)这些项目。我的问题是,它只显示第一项。

最佳答案

您可以使用 document.getElementsByTagName 获取所有 a 元素的 NodeList .该列表有一个长度,您可以使用[] 对其进行索引。例如:

var links = document.getElementsByTagName('a');
var i;
for (i = 0; i < links.length; ++i) {
    // Do something with links[i].href
}

关于 modern browsers ,如果你想进一步限制它(例如,只链接到它们上面的 download-link 类),你可以使用 querySelectorAll,它接受一个 CSS 选择器:

var links = document.querySelectorAll('a.download-link');
// ...and then use it the same way as above

关于javascript - 如何使用javascript读取html "<a>"标签中的所有href链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19718221/

相关文章:

html - 图像缩放 IE 与 Chrome

Javascript 不会将信息从 html 传递到函数中

html - css布局布局bug

javascript - Jssor从外部html元素强制滑动

javascript - 将鼠标悬停在段落上时如何更改图像的 src?

javascript - 如何使用单选按钮输入值将表单输入填充到重定向的网页中

java - 通过浏览器使用 Java/C 访问 HTML TextField 组件

javascript - Angular 选择选项

javascript - websql事务完成后调用函数?

html - 使用 CSS 绘制一条方形线,插入到一个 div 中