无法理解为什么我为循环中的最后一个元素收到错误?我在SOF上看到了其他问题,但我没有找到答案。
我正在尝试获取标记元素列表,但
<script>
let a = document.body.getElementsByTagName('a');
function getList(list) {
let ii;
for (let i = 0; i , a.length; i++) {
if (a[i].getAttribute('href')) {
ii = a[i].getAttribute('href');
console.log(ii); // get the list of elements that contains attr "href".
// and an Error for the last element -
// error 'getAttribute' of undefined.
}
}
return ii;
}
getList(); // start for test
</script>
<body>
<ul>
<li><a href="http://google.com">http://google.com</a></li>
<li><a href="/tutorial">/tutorial.html</a></li>
<li><a href="local/path">local/path</a></li>
</ul>
</body>
答案 0 :(得分:1)
你应该把条件<
;
for (let i = 0; i < a.length; i++)
答案 1 :(得分:1)
您需要解决此问题
for (let i = 0; i , a.length; i++)
到for (let i = 0; i < a.length; i++)
由于索引超出范围而给出错误