Я заполняю <ul></ul>
с помощью <li></li>
, используя fetch
метод API-запроса.
UL выглядит следующим образом:
<ul id="todos" class="collection">
</ul>
Сценарий, который заполняет todos:
fetch("http://localhost:3000/api/todos")
.then((resp) => resp.json())
.then((data) => {
let todos = data;
return todos.map(todo => {
let liTodo = createNode("li");
liTodo.innerHTML = '<button class="btn-small remove-todo" onclick="' + deleteTodo(`${todo._id}`) + '">Delete' + '</button>';
liTodo.classList.add("collection-item");
append(ulTodos, liTodo);
});
function createNode(element) {
return document.createElement(element); // Create the type of element you pass in the parameters
}
function append(parent, el) {
return parent.appendChild(el); // Append the second parameter(element) to the first one
}
function deleteTodo(id) {
console.log("deleteTodo function called " + id);
}
Проблема: После загрузки страницы и проверки console
я вижу, что deleteTodo()
функция вызывается, хотя я не щелкнул по ней.
Знаете ли вы, как я могу правильно передать deleteTodo()
с id
только при нажатии?
Любая помощь очень ценится. Спасибо.