Javascript 获取错误“';getAttribute';“未定义”的定义;对于循环中的最后一个元素

Javascript 获取错误“';getAttribute';“未定义”的定义;对于循环中的最后一个元素,javascript,html,loops,Javascript,Html,Loops,无法理解为什么循环中的最后一个元素出现错误?我在SOF上看到了其他问题,但我没有找到我的案例的答案 我正在尝试获取标记a元素的列表,但是 <script> let a = document.body.getElementsByTagName('a'); function getList(list) { let ii; for (let i = 0; i , a.length; i++) { if (a[i

无法理解为什么循环中的最后一个元素出现错误?我在SOF上看到了其他问题,但我没有找到我的案例的答案

我正在尝试获取标记a元素的列表,但是

<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>

设a=document.body.getElementsByTagName('a');
函数getList(列表){
让我们二,;
for(设i=0;i,a.length;i++){
if(a[i].getAttribute('href')){
ii=a[i].getAttribute('href');
console.log(ii);//获取包含attr“href”的元素列表。
//最后一个元素有一个错误-
//未定义的错误“getAttribute”。
}
}
回报二;
}
getList();//开始测试

您应该设置条件
您需要修复此问题

 for (let i = 0; i , a.length; i++)
to
for(设i=0;i


它给出了错误,因为索引超出了(让i=0;i for (let i = 0; i , a.length; i++)