私は現在javascriptを学んでいますが、以下のコードは私が思っていた結果を生成していません:
var links = document.getElementsByTagName("a");
for(i=0; i<links.length; i++) {
document.write(links[i]);
}
このコードを実行すると、配列から 1 つの要素が書き込まれます。すべてを返したい ( には 1,000 以上ありますlinks
)
私は何を間違えましたか?
私は現在javascriptを学んでいますが、以下のコードは私が思っていた結果を生成していません:
var links = document.getElementsByTagName("a");
for(i=0; i<links.length; i++) {
document.write(links[i]);
}
このコードを実行すると、配列から 1 つの要素が書き込まれます。すべてを返したい ( には 1,000 以上ありますlinks
)
私は何を間違えましたか?
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]);
}