我沒有經驗的Javascript。加載頁面完成後,我需要遍歷給定頁面的所有URL並執行一些清理。Javascript - 如何遍歷給定頁面的所有URL
我該怎麼做?
喜歡的東西
for i = 0 to (number of URLS on the page) {
doSomething (URL(i));
}
感謝
我沒有經驗的Javascript。加載頁面完成後,我需要遍歷給定頁面的所有URL並執行一些清理。Javascript - 如何遍歷給定頁面的所有URL
我該怎麼做?
喜歡的東西
for i = 0 to (number of URLS on the page) {
doSomething (URL(i));
}
感謝
如果你想通過所有錨鏈接,使用document.links
,像這樣:
for(var i = 0, l=document.links.length; i<l; i++) {
doSomething(document.links[i].href);
}
這已經是由瀏覽器保存的集合(主要是爲了預取下面的內容,但也有其他原因)...在這裏不需要document.getElementsByTagName()
。注意:這也得到<area>
元素,只要它們具有href
屬性......也是有效的導航形式。
使用此功能:
var anchors = document.getElementsByTagName("a");
for (anchor in anchors){
doSomething(anchor):
}
爲什麼要爲內置集合運行選擇器?也可以**不**使用`for..in`循環來遍歷集合,它用於*枚舉*,這會在這裏產生不希望的結果。 – 2010-12-23 13:37:28
我總是建議有jQuery周圍這樣的時候,因爲它使得它更容易。
例如在頁面加載:
$(document).ready(function(){
$('a').each(function(index) {
alert(index + ': ' + $(this).text());
});
});
jQuery是*巨大*過度殺傷這個...這是完全內置的,爲什麼包括一個庫只是爲了這個? – 2010-12-23 13:45:57
或只是簡單的Javascript有點可讀性:
var myURL = document.getElementsByTagName('a');
for(var i=0; i<myURL.length; i++)
console.log(myURL[i].getAttribute('href'));
@downvoter - 保健評論? – 2010-12-23 13:48:22