我的html代码包含
<ul id="users"></ul>
,然后用JS代码动态填充
const li = document.createElement("li");
li.appendChild(document.createTextNode(`${nameInput.value} : ${emailInput.value}`)
我在html代码中添加了一个按钮来删除该代码中的所有用户
<ul>
,因此:
<button class="btn" id="del-user-list" onClick="deleteUserList()">Delete User List</button>
.
JS代码中的deleteUserList函数如下所示:
function deleteUserList() {
while (userList.firstChild != "") {
userList.firstChild.remove();
}
}
这在表面上是有效的,但是我意识到在最后一个孩子之后,我的函数将再次检查一个不存在的孩子的值。我记得在学习C和玩链表时,你不想去引用一个指向它的指针
null
.
果然,当我看到控制台时
Uncaught TypeError: Cannot read properties of null (reading 'remove') at deleteUserList (main.js:31:25) at HTMLButtonElement.onclick ((index):29:77)
这是个问题吗?我能做些什么?我刚开始玩Javascript,现在对这些东西的工作原理没有很好的了解。