앱을 삭제하기위한 버튼을 쓰려고합니다. 이 버튼을 클릭하면 콘솔에 Uncaught TypeError가 표시됩니다. index.html : 40에서 속성 addEventListener
을 읽을 수 없습니다. 하지만 var olToDelete가 존재합니다! 여기에 코드가 있습니다.삭제 버튼에 null의 'addEventListener'속성을 읽을 수 없습니다.
<input type="text" id="text-field">
<input type="button" id="add-task" value="dodaj zadanie!">
<div id="to-do-list-container">
<ul id="task-list">
<ol>damian</ol>
</ul>
</div>
및 JS
let textField = document.getElementById('text-field'),
addTask = document.getElementById('add-task'),
taskValue,
taskList = document.getElementById('task-list');
function createNewTask(){
var ol = document.createElement('ol'); //creating element ol
taskValue = textField.value; //getting value from user
taskList.appendChild(ol); //add ol to ul
ol.id = 'single-task';
ol.innerHTML = taskValue; //add value from user to new ol
ol.innerHTML += '<input type="button" value="ZROBIONE!" id="delete-button">';
}
addTask.addEventListener('click', function() {
createNewTask();
})
var olToDelete = document.getElementById('delete-button');
//DELETING TASK
olToDelete.addEventListener('click', function(){
var ol = document.getElementById('single-task');
ol.remove();
})
무엇을 할까?
버튼을 만들 때 이벤트 리스너를 추가해야합니다. 또한 ID를 다시 사용할 수 없습니다. – mplungjan
관련/가능한 중복 [jQuery 또는 getElementById와 같은 DOM 메소드가 요소를 찾지 못하는 이유는 무엇입니까?] (https://stackoverflow.com/q/14028959/218196) –
이 코드를 복사하여 NewTask 함수에 복사하면됩니다. 하지만 왜? – Damian