1 回答

TA貢獻1848條經驗 獲得超10個贊
兩個問題:首先,正如 Matt 指出的那樣,您不應該使用Arrayas 變量名——它是一個保留字——所以Array改為arr. 其次,刪除按鈕需要針對input同一li元素中的標記。因此,更改變量名稱并定位正確的input標簽,我得到:
var arr = [];
function myFunction() {
//console.log('test');
var todoItem = document.getElementById('new-todo-item').value;
const Input = document.querySelectorAll('input[name="todo-item-done"]');
//console.log(Input.value);
//Input von Add
arr.unshift(todoItem);
document.getElementById("todo-list").innerHTML +=
"<li>" +
"<input type='text'" + " name='todo-item-done'" +
" class='todo-item-done'" + " value='" + todoItem +
"'> " +
"<a id= 'myDIV' class='up' onclick='UpDown()' href='#'>" + "up"+"</a>" +
" | " +
"<a class='down' onclick='UpDown()' href='#'>" + "down"+"</a> " +
"<button onclick='deleteData(this)' class='todo-item-delete'>Delete</button>" +
"</li>"
;
document.getElementById('new-todo-item').value = "";
}
function deleteData(e) {
console.log(arr);
let p = e.parentNode;
console.log(p);
let deleteValue = p.getElementsByTagName("input")[0].value;
var index = arr.indexOf(deleteValue);
if (index !== -1) {
arr.splice(index, 1);
}
p.remove();
console.log(arr);
}
<h1>To-Do List</h1>
<label for="todo">To do:</label>
<input type="text" id="new-todo-item">
<input onclick="myFunction()" type="submit" id="add-todo-item" value="add the todo">
<ul id="todo-list" class="todo-list"></ul>
添加回答
舉報