あるページに含まれるアンカータブをすべて取得し、そのリンク先の一覧を表示する場合。
For Loop
を使って書くと
var list = document.getElementsByTagName('a');
for (var i = 0, len = list.length; i < len; i++) {
console.log(list.item(i).href);
}
forEachメソッド
は配列の各要素に対して一度ずつしか実行されないので、こんな風に書いたらUncaught TypeError: list.forEach is not a function at
のエラーになる。
const list = document.getElementsByTagName('a');
list.forEach(function(list)) {
console.log(list)
}
なので、配列ではなくオブジェクトをforEachメソッド
で使うためにはObject.keys() メソッド
を使う。
const list = document.getElementsByTagName('a');
Object.keys(list).forEach(function (k) {
console.log(list[k].href);
})