Я пытаюсь выяснить, почему 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
Откройте указанный выше URL кодеина в Safari и откройте консоль JavaScript. Как вы можете видеть, в Safari функция logLink();
, похоже, не регистрирует переменную ссылки, хотя она работает в Chrome.
Я получаю следующую ошибку: ReferenceError: Невозможно найти переменную: link
Кто-нибудь знает, почему это происходит и как это исправить?
Спасибо за любую помощь.