📅  最后修改于: 2023-12-03 15:22:12.723000             🧑  作者: Mango
在开发 Web 应用时,我们经常需要从网页中提取所有链接。这篇文章将讲解如何使用 JavaScript 提取所有链接。
你可以使用正则表达式来提取所有链接。使用正则表达式时,你需要采取以下步骤:
以下是一个例子:
const html = document.body.innerHTML;
const pattern = /<a\s+(?:[^>]*?\s+)?href="([^"]*)"/g;
const links = [];
let match;
while ((match = pattern.exec(html))) {
links.push(match[1]);
}
console.log(links);
你还可以使用 DOM API 来提取所有链接。使用 DOM API 时,你需要采取以下步骤:
以下是一个例子:
const links = [];
const aElements = document.getElementsByTagName('a');
for (let i = 0; i < aElements.length; i++) {
const href = aElements[i].getAttribute('href');
if (href) {
links.push(href);
}
}
console.log(links);
你可以使用正则表达式或 DOM API 来提取所有链接。正则表达式可能更快,但它可能会忽略某些链接,因为它无法处理复杂的 HTML。DOM API 可以更好地处理复杂的 HTML,但它通常更慢。根据你的需求和性能要求,选择适合你的方法。