簡體   English   中英

如何刪除網格內的 div?

[英]How to remove divs inside a grid?

如何刪除網格中名稱為“grid-item”的 class 的 div? 如何遍歷它們並刪除它們? 我想使用 reset() function 來刪除 class 名稱為“grid-item.

const container = document.getElementById("container");

let canvasSize = Number(prompt("Enter amount of squares per side to make the new grid"));

let resetButton = document.createElement("button");
resetButton.innerHTML = "Reset Grid";
document.body.appendChild(resetButton);

function makeRows(_canvasSize) {
  const rows = canvasSize
  const cols = canvasSize
  container.style.setProperty('--grid-rows', rows);
  container.style.setProperty('--grid-cols', cols);
  for (c = 0; c < (rows * cols); c++) {
    let cell = document.createElement("div");
    container.appendChild(cell).className = "grid-item";
    cell.addEventListener('mouseover', 
        e => e.target.style.backgroundColor = "black"
    )
  };
};

resetButton.addEventListener('click', (e) => {
    reset();
});

var list= document.getElementsByClassName("events");

function reset() {
    container.classList.remove("grid-item");
    makeRows(canvasSize)
}

makeRows(canvasSize);

您可以使用querySelectorAll()查找具有 class “grid-item”的所有元素,然后為每個元素找到它們的父節點,使用removeChild()刪除元素,例如:

function reset() {
  document
    .querySelectorAll(".grid-item")
    .forEach((e) => e.parentNode.removeChild(e));
}

 const container = document.getElementById("container"); let canvasSize = Number( prompt("Enter amount of squares per side to make the new grid") ); let resetButton = document.createElement("button"); resetButton.innerHTML = "Reset Grid"; document.body.appendChild(resetButton); function makeRows(_canvasSize) { const rows = canvasSize; const cols = canvasSize; container.style.setProperty("--grid-rows", rows); container.style.setProperty("--grid-cols", cols); for (let c = 0; c < rows * cols; c++) { let cell = document.createElement("div"); container.appendChild(cell).className = "grid-item"; cell.addEventListener( "mouseover", (e) => (e.target.style.backgroundColor = "black") ); } } resetButton.addEventListener("click", (e) => { reset(); }); var list = document.getElementsByClassName("events"); function reset() { document.querySelectorAll(".grid-item").forEach((e) => e.parentNode.removeChild(e)); } makeRows(canvasSize);
 .grid-item { border: 1px solid black; width: 10px; padding: 10px; margin: 5px }
 <div id="container"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM