0

私は現在javascriptを学んでいますが、以下のコードは私が思っていた結果を生成していません:

var links = document.getElementsByTagName("a");

for(i=0; i<links.length; i++) {
    document.write(links[i]);
}

このコードを実行すると、配列から 1 つの要素が書き込まれます。すべてを返したい ( には 1,000 以上ありますlinks)

私は何を間違えましたか?

4

1 に答える 1

2

links はライブ NodeList です ( .getElementsByTagName()を参照)。ページ上のリンクを変更すると、すぐにリストに反映されます。

最初document.writeに現在のドキュメントを上書きしているため (ドキュメントが読み込まれた後に使用された場合)、linksリストは空になります。

console.log()代わりに使用document.writeして、ブラウザの Javascript コンソールを見てください。

var links = document.getElementsByTagName("a");

for(i=0; i<links.length; i++) {
    console.log(links[i]);
}
于 2012-07-10T08:25:31.140 に答える