我正在重建一個待辦事項列表應用程序,并嘗試使用面向對象編程,這對我來說是新的。我已經構建了任務部分,但我無法找到“刪除”按鈕。添加新任務時,右側會顯示一個很棒的字體圖標。我正在嘗試選擇它們,但每次函數運行時我都會得到一個空的節點列表:Codepen:待辦事項列表重現:添加任務,然后檢查控制臺。您將看到一個空的節點列表。我嘗試過的:現在,我正在嘗試簡化console.log該元素。console.log(buttons)每次該方法運行時我都會運行addTask()。這是完整的 JS:const submit = document.querySelector("#commit-task"),? results = document.querySelector("#task-results"),? input = document.querySelector("#input-task"),? buttons = document.querySelectorAll(".fa-times");? // These are what I'm trying to selectclass Task {? constructor(task) {? ? this.taskText = task;? }? addTask() {? ? const text = input.value;? ? ui.clearInput();? ? const taskBody = `<div class="task">? ? ? ? <span>${text}</span>? ? ? ? ? ? <span>? ? ? ? ? ? ? <i class="fas fa-check" style="color: green;"></i>? ? ? ? ? ? ? <i class="fas fa-times" style="color: red;"></I> //This is the element I'm trying to select? ? ? ? ? ? </span>? ? </div>`;? ? results.innerHTML += taskBody;? ? console.log(buttons); //Here's where the Console.log statement is run? }}class UI {? clearInput() {? ? input.value = "";? ? input.focus();? }}const newTask = new Task();const ui = new UI();// Add Event Listeners:submit.addEventListener("click", () => {? newTask.addTask(); //Here is when addTask() is run.});input.addEventListener("keyup", (e) => {? if (e.keyCode === 13) {? ? newTask.addTask();? }});為什么 JavaScript 認為這些按鈕不在 DOM 中?提前致謝。
QuerySelectorAll 使用 OOP 返回空節點列表
慕姐8265434
2023-06-29 21:03:10