【发布时间】:2021-01-19 01:17:26
【问题描述】:
抱歉我的愚蠢问题和糟糕的解释
目前我正在学习 JS,我不明白出了什么问题。
我正在尝试制作新的
点击按钮时列出,点击X时我想删除它
它在某些方面确实有效,但它仅在 P 标签超过 1 个时有效。所以不可能删除所有提交的内容
var list = document.querySelector("#list");
var text = document.querySelector("#write");
var btn = document.querySelector("#submit");
btn.addEventListener("click", add);
function add(){
var newP = document.createElement("p");
var newUl = document.createElement("ul");
var newLi = document.createElement("li");
var newText = document.createTextNode(text.value);
var delbtn = document.createElement("span");
delbtn.setAttribute("class", "del")
var delText = document.createTextNode("X");
var delbtns = document.querySelectorAll(".del")
list.appendChild(newP);
newP.appendChild(newUl);
newUl.appendChild(newLi);
newLi.appendChild(newText);
newP.appendChild(delbtn);
delbtn.appendChild(delText);
text.value = ""
text.focus();
for (var i = 0; i < delbtns.length; i++){
delbtns[i].addEventListener("click", function () {
if(this.parentNode.parentNode)
this.parentNode.parentNode.removeChild(this.parentNode)
});
}
}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
p{
width: 80%;
}
.del{
border: 1px solid #999;
display: flex;
flex-basis: 200;
}
</style>
</head>
<body>
<h1>hello world</h1>
<form action="">
<input type="text" id="write" />
<input type="button" id="submit"/>
</form>
<div id="list"></div>
<script src="index.js"></script>
</body>
</html>
【问题讨论】:
-
您是否尝试在插入按钮后移动
var delbtns = document.querySelectorAll(".del")?看起来它一开始就找不到它,因为它还没有插入。
标签: javascript for-loop object removechild createelement