2010-12-23 78 views

回答

13

如果你想通過所有錨鏈接,使用document.links,像這樣:

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

這已經是由瀏覽器保存的集合(主要是爲了預取下面的內容,但也有其他原因)...在這裏不需要document.getElementsByTagName()。注意:這也得到<area>元素,只要它們具有href屬性......也是有效的導航形式。

+2

@downvoter - 保健評論? – 2010-12-23 13:48:22

1

使用此功能:

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

爲什麼要爲內置集合運行選擇器?也可以**不**使用`for..in`循環來遍歷集合,它用於*枚舉*,這會在這裏產生不希望的結果。 – 2010-12-23 13:37:28

2

我總是建議有jQuery周圍這樣的時候,因爲它使得它更容易。

例如在頁面加載:

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

jQuery是*巨大*過度殺傷這個...這是完全內置的,爲什麼包括一個庫只是爲了這個? – 2010-12-23 13:45:57

0

或只是簡單的Javascript有點可讀性:

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