如何使用 JavaScript 从特定页面提取所有链接并将它们放入数组中?

2 javascript extract hyperlink

老实说,我不知道从哪里开始“提取”。我最好的猜测是使用 JQuery 中的基本 .html() 标签来解决这个问题。这是一个旨在提高我的 JavaScript 技能的小项目。关于如何做到这一点有什么想法吗?非常感谢...

我很抱歉不清楚。我的意思是从我不拥有的域中的特定页面中提取所有链接。然后,将这些链接放入一个数组中。谢谢!

ade*_*neo 5

嗯,想到这个了吗?

var arr = [].slice.call( document.querySelectorAll('a') );
Run Code Online (Sandbox Code Playgroud)

它使用 获取所有匹配的元素querySelectorAll,并使用 将返回的nodeList转换为数组[].slice.call,其中[]是 的快捷方式Array.prototype。换句话说,它调用本机Array.slice方法 with call(),将元素作为this值传入,从而有效地从元素创建一个数组。

如果您需要 HTML,而不是 DOM 元素,您可以映射 elements 数组并返回outerHTML

var markup = arr.map(function(elem) { return elem.outerHTML; });
Run Code Online (Sandbox Code Playgroud)

或者,如果您只需要 URL,则可以运行相同的映射并返回href属性

var urls = arr.map(function(elem) { return elem.getAttribute('href'); });
Run Code Online (Sandbox Code Playgroud)