私が作成した各div要素をクリックすると動的に削除しようとしています。実際には0とnの間の乱数(入力から)を含む10 divの四角形を作成しました。私が望むのは、それらをクリックして3秒間赤色にしてからそれを削除し、内容をテキストエリアに追加するときです。 ここに私のコードです。なぜそれがうまくいかないのか分かってもらえれば幸いです...ありがとう!div要素を動的に削除する
var ti;
function Start()
{
\t
\t var n=document.getElementById("addnumber").value;
\t for(i=1; i<=10; i++)
\t {
\t \t var divNew = document.createElement("div");
\t \t divNew.style.height = "50px";
\t \t divNew.style.width = "50px";
\t \t divNew.style.border = "5px solid green"
\t \t divNew.style.display = "inline-block";
\t \t divNew.innerHTML= Math.floor((Math.random()*n)+1);
\t \t document.body.appendChild(divNew);
\t }
}
var listDivs = document.getElementsByTagName("div");
var l = document.getElementsByTagName("div").length;
for(let i=0; i<l; i++)
{
\t listDivs[i].onclick = function(){
\t \t ti = setInterval(del, 3000);
\t \t function del(){
\t \t \t listDivs[i].style.backgroundColor="red";
\t \t \t if (l == 0)
\t \t \t \t clearInterval(ti);
\t \t \t else {
\t \t \t \t document.body.removeChild(listDivs[i]);
\t \t \t \t document.getElementsById("txt").value += listDivs[i].innerHTML;
\t \t \t }
\t \t }
\t };
}
<!DOCTYPE html>
<html>
<head>
\t
\t <title></title>
\t <script type="text/javascript" src="testjs.js"></script>
\t <meta charset="utf-8">
</head>
<body>
<p id="date"></p>
<input type="number" name="Number:" id="addnumber">
<button type="button" id="s" onclick="Start()">Start</button><br>
<textarea id="txt" rows="10" cols="50"></textarea><br>
</body>
</html>
ええ、今それは動作し、私はそれがそうであると思ったよりも簡単だと思われる。ありがとうございました! :D – Anurim