nodeList.style.display = 'flex' 不起作用
2021-05-04
271
我找不到问题所在。我只是收到“Uncaught TypeError:无法设置未定义的属性‘display’”这个错误。
function filterTodo(e){
const todos = todoList.childNodes;
todos.forEach(function(todo){
switch (e.target.value){
case "all" :
todo.style.display = 'flex';
break;
case "completed" :
if(todo.classList.contains('completed')){
todo.style.display = 'flex';
}
break;
}
});
>
2个回答
childNodes
包含
所有
个节点,包括文本节点(没有
style
属性)。
请改用
children
。它提供子
元素
。
Quentin
2021-05-04
您可以在此处使用属性解析....
todo?.style?.display = 'flex'
它的作用是首先检查属性。如果找到确切的属性,则分配值,否则跳过。
Showrin Barua
2021-05-04