简体   繁体   English

如何使用 JavaScript 切换整个 div

[英]How can I toggle whole div using JavaScript

I have a done function from which i want to toggle my "temp" div我已经完成了 function,我想从中切换我的“temp”div

tasks.innerHTML += `<div id="temp">
        <span id="taskname">
        ${input.value}
        </span>
         
        <button class="done" onclick ="done()"><i class="fa-solid fa-circle-check"></i></button>
        <button class="del" onclick="del(this)"><i class="fa-solid fa-times-circle"></i></button>
        
        </div>`;
function del(e) {
    e.parentNode.remove();      
}

function done() {
    var temp = document.getElementById("temp");
    temp.classList.toggle('completed');      
}

In above code del function is working perfectly but done function is not it only toggles the first div created by innerhtml在上面的代码中,del function 工作正常但完成 function 不是它只切换由 innerhtml 创建的第一个 div

To Do List web App待办事项 web App

Here if I click check button of Task 3 or Task 4 or Task 2 it will only affect the first div ie Task 2 here.在这里,如果我单击任务 3 或任务 4 或任务 2 的复选按钮,它只会影响第一个 div,即此处的任务 2。

I tried to do it in the similar way I did del() function by using "this"我尝试使用“this”以与 del() function 类似的方式进行操作

<button class="done" onclick ="done(this)"><i class="fa-solid fa-circle-check"></i></button>
function done(e) {
    e.classList.toggle('completed');      
}

But it only toggles the particular check button as shown in image To Do List Web App但它只会切换特定的复选按钮,如图待办事项列表 Web 应用程序所示

I want to toggle the whole division of task so that i can strikethrough the text of particular task using css by clicking particular check button.我想切换整个任务划分,以便我可以通过单击特定的复选按钮使用 css 删除特定任务的文本。

You just forgot to add parentNode.你只是忘了添加 parentNode。

function done(e) {
    e.parentNode.classList.toggle('completed');     
};

onClick="done(this)"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM