Javascript - 如何通过给定页面的所有URL进行迭代

时间:2010-12-23 13:32:17

标签: javascript

我没有Javascript的经验。页面完成加载后,我需要通过给定页面的所有URL进行迭代并执行一些清理。

我该怎么做?

这样的东西
for i = 0 to (number of URLS on the page) {

  doSomething (URL(i));

}

感谢

4 个答案:

答案 0 :(得分:15)

如果要链接所有锚点,请使用document.links,如下所示:

for(var i = 0, l=document.links.length; i<l; i++) {
  doSomething(document.links[i].href);
}

这是一个已经由浏览器维护的集合(主要用于预取,但也有其他原因)......此处不需要document.getElementsByTagName()。注意:这也会获得<area>元素,只要它们具有href属性...也是有效的导航形式。

答案 1 :(得分:2)

我总是建议在这样的时候使用jQuery,因为这样会更容易。

例如页面加载:

$(document).ready(function(){
    $('a').each(function(index) {
        alert(index + ': ' + $(this).text());
    });
});

答案 2 :(得分:1)

使用此功能:

var anchors = document.getElementsByTagName("a");
for (anchor in anchors){ 
  doSomething(anchor):
}

答案 3 :(得分:0)

或者只是简单的Javascript,具有一点可读性:

var myURL = document.getElementsByTagName('a');
for(var i=0; i<myURL.length; i++)
    console.log(myURL[i].getAttribute('href'));