【发布时间】:2020-04-19 12:37:22
【问题描述】:
在练习中,我在每次单击按钮后创建了一个新元素 li。
它不起作用。在控制台中它报告“li 未定义”。
我做错了什么?
我的代码:
const btn = document.querySelector("button");
let number = 1;
const ul = document.querySelector("ul");
const fcn = function() {
const li = document.createElement('li');
li.textContent = number;
}
if (number % 3 == 0) {
li.classList.add('big');
}
ul.appendChild(li);
number += 2;
btn.addEventListener("click", fcn);
【问题讨论】:
-
const具有阻塞范围,因此您将无法在功能块 ({}) 之外访问li。此外,您将在将来某个时间点调用fcn(当您单击按钮时),而li.classList.add('big');将在您的JS 脚本首次运行时运行,因此即使您可以在函数之外访问li,@ 987654329@ 还没有被定义,因为fcn还没有初始化它。我猜您打算将您的if和ul.appendChild等...放在您的函数中...
标签: javascript function click add