我试图发现Safari为什么返回控制台错误,而其他浏览器(例如Chrome)却没有问题。在for循环中有一个简单的函数,如下所示:
const links = document.querySelectorAll('ul > li > a');
console.log(links); // successful
for (const link of links) {
console.log(link); // successful
function logLink() {
console.log(link);
}
logLink();
}
<ul id='test'>
<li>
<a class='one' href='#'>test 1</a>
</li>
<li>
<a class='two' href='#'>test 2</a>
</li>
<li>
<a class='three' href='#'>test 3</a>
</li>
</ul>
Codepen:https://codepen.io/ns91/pen/oNNEKpP
在野生动物园中打开上述可待因网址,然后打开您的JavaScript控制台。如您所见,在Safari中,功能logLink();
似乎没有记录链接变量,尽管它在Chrome中有效。
我得到的错误是:ReferenceError:找不到变量:链接
有人知道为什么会这样吗,以及如何解决它吗?
感谢您的帮助。