选中复选框以在 DOM 中消失
Check checkbox to vanish in the DOM
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
ulBox.appendChild(boxAdd);
}
}
<div>
<input id="inputTodo" placeholder="What needs to be done?" />
<input id="inputPomo" placeholder="How many Pomodoros?" />
<ul id="listTodo"></ul>
<ul id="listPomo"></ul>
<button id="tasker">Save Task</button>
</div>
我希望复选框在使用 JavaScript 选中时消失。
问题是,复选框是使用函数 checkboxAd()
:
动态生成的
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
ulBox.appendChild(boxAdd);
}
}
当使用 ID="inputPomo"
在输入字段中输入数字时,将触发上述功能。出现的复选框数与输入的数字有关。
完成某项任务后,我想勾选复选框,让复选框消失。
我找到的所有示例都涉及将复选框放在 HTML 中的情况。但在这种情况下,复选框是由 JS 生成的。 抱歉术语使用不当,欢迎帮助。
复选框父项出现的HTML部分id="listPomo"
<div>
<input id="inputTodo" placeholder="What needs to be done?" />
<input id="inputPomo" placeholder="How many Pomodoros?" />
<ul id="listTodo"></ul>
<ul id="listPomo"></ul>
<button id="tasker">Save Task</button>
</div>
我不知道,我是如何为 JS 生成的 onchange (?) 事件放置事件监听器的。只有某个选中的复选框应该消失。 (所以如果有三个复选框,应该保留两个……)
如果您想将事件添加到生成的 HTML 元素中,您可以使用此
element.addEventListener("click", () => {
});
满足您的需求:
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
boxAdd.addEventListener("change", () => {
// DO what you want here
});
ulBox.appendChild(boxAdd);
}
}
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
ulBox.appendChild(boxAdd);
}
}
<div>
<input id="inputTodo" placeholder="What needs to be done?" />
<input id="inputPomo" placeholder="How many Pomodoros?" />
<ul id="listTodo"></ul>
<ul id="listPomo"></ul>
<button id="tasker">Save Task</button>
</div>
我希望复选框在使用 JavaScript 选中时消失。
问题是,复选框是使用函数 checkboxAd()
:
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
ulBox.appendChild(boxAdd);
}
}
当使用 ID="inputPomo"
在输入字段中输入数字时,将触发上述功能。出现的复选框数与输入的数字有关。
完成某项任务后,我想勾选复选框,让复选框消失。
我找到的所有示例都涉及将复选框放在 HTML 中的情况。但在这种情况下,复选框是由 JS 生成的。 抱歉术语使用不当,欢迎帮助。
复选框父项出现的HTML部分id="listPomo"
<div>
<input id="inputTodo" placeholder="What needs to be done?" />
<input id="inputPomo" placeholder="How many Pomodoros?" />
<ul id="listTodo"></ul>
<ul id="listPomo"></ul>
<button id="tasker">Save Task</button>
</div>
我不知道,我是如何为 JS 生成的 onchange (?) 事件放置事件监听器的。只有某个选中的复选框应该消失。 (所以如果有三个复选框,应该保留两个……)
如果您想将事件添加到生成的 HTML 元素中,您可以使用此
element.addEventListener("click", () => {
});
满足您的需求:
function checkboxAd() {
let boxes = document.getElementById("inputPomo").value;
let numBox = parseInt(boxes, 10);
let boxAdd = document.createElement("li");
let ulBox = document.getElementById("listPomo");
for (let i = 0; i < numBox; i++) {
let boxAdd = document.createElement("INPUT");
boxAdd.setAttribute("type", "checkbox");
boxAdd.addEventListener("change", () => {
// DO what you want here
});
ulBox.appendChild(boxAdd);
}
}