我需要使用 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/