gpt4 book ai didi

javascript - 我想删除 div 元素而不用 js 更改任何 html 代码

转载 作者:行者123 更新时间:2023-11-29 22:58:01 26 4
gpt4 key购买 nike

我正在用 tempermonkey 制作一个插件,我想删除 div 里面有 button,但是 div 元素没有没有 id,只有一个用于不同元素的类。我只想删除按下 button 的那个。谢谢。

   // 1. Create the buttons
var x;
var y = document.getElementsByClassName("tasksAndMaterials__label");
for (x = 0; x < y.length; x++) {
var br = document.createElement("br");
document.getElementsByClassName("tasksAndMaterials__label")[x].appendChild(br);
var btn = document.createElement("BUTTON");
btn.innerHTML = "Done";
document.getElementsByClassName("tasksAndMaterials__label")[x].appendChild(btn);
}

最佳答案

删除 div 元素将改变 HTML,否则您可能希望隐藏它。

但是要在用按钮单击时从 DOM 中删除元素,您可以尝试:

let elements = document.querySelectorAll(".tasksAndMaterials__label");

const remove = (element) =>{
element.parentNode.removeChild(element);
};

elements.forEach((e)=>{
let button = document.createElement("button");
button.innerText = "Done";
button.addEventListener("click",(event)=>{
remove(event.target.parentNode);
});
e.appendChild(button);
});
<div class="tasksAndMaterials__label">some text 1</div>
<div class="tasksAndMaterials__label">some text 2</div>
<div class="tasksAndMaterials__label">some text 3</div>

您可以尝试设置一个包含可移除元素数组的变量。然后处理元素的点击以将其删除:

parentNode.removeChild(element)

当它被点击时,它会删除任何带有 class="tasksAndMaterials__label" 的项目。

关于javascript - 我想删除 div 元素而不用 js 更改任何 html 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com