我有一个div如下:
<div id="toGoogle" onclick="window.location='https://www.google.com">Go to google</div>
点击此链接会将我带到一个网站(在本例中为google.com)。
(当然,这种点击方法可能是在JS文件中,而不是内联。)
现在我想在我的网页中找到所有这些元素,点击它们会导致另一个页面。我也希望找到这些网页的网址并将其打印到控制台。
使用JS / Jquery可以实现吗?
答案 0 :(得分:1)
在完全加载的页面上,您可以递归遍历DOM搜索onClick和href属性。请参阅此处的jsfiddle以获取示例(并查看日志)。
var walkDOM = function(node) {
try {
if (node.getAttribute("onClick") != null) {
console.log(node.getAttribute("onClick"))
}
if (node.getAttribute("href") != null) {
console.log(node.getAttribute("href"))
}
} catch (err) {
console.log("endpoint")
}
node = node.firstChild;
while (node) {
walkDOM(node);
node = node.nextSibling;
}
};
var fb = document.getElementById('facebook')
fb.setAttribute("onclick", "console.log('click')")
var yt = document.getElementById('youtube')
yt.setAttribute("href", "www.youtube.com")
walkDOM(document.documentElement);
https://jsfiddle.net/26wh7zeL/9/
如果需要,您可以为网址进行正则表达式匹配。