当我点击任何复选框添加待办事项css属性只适用于第一个元素。
const input = document.querySelector("#input");
const container = document.querySelector(".to_dos_container");
input.addEventListener("keyup", (event) => {
if (event.key === "Enter") {
add = `<div class="task_container">
<input type="checkbox" class='done'>
<p class='task'>${input.value}</p>
</div>`;
container.insertAdjacentHTML("afterbegin", add);
input.value = "";
lineThrough()
}
});
function lineThrough() {
var checked = document.querySelectorAll(".done");
checked.forEach((c) => {
c.addEventListener("click", (p) => {
var task = document.querySelector(".task");
if (c.checked) {
task.style.textDecoration = "line-through";
task.style.color = "gray";
} else {
task.style.textDecoration = "unset";
task.style.color = "unset";
}
});
});
}
个字符
我想当我点击添加待办事项css属性的复选框时,应该应用于其各自的待办事项。
1条答案
按热度按时间gywdnpxw1#
document.querySelector(".task")
选择第一个类为.task
的元素。您需要使用nextElementSibling
来选择类为.task
的元素之后的元素,因为div中只有两个兄弟元素,它将选中相应的复选框。改变这种
字符串
本
型