gpt4 book ai didi

javascript - 某些 id 的 RemoveChild 错误

转载 作者:行者123 更新时间:2023-12-03 02:16:13 24 4
gpt4 key购买 nike

几个小时后,我试图了解为什么有时我的removechild 不起作用。阅读论坛后,我看到一些关于我的removechild数组每次reduce都是数字的问题...但我不知道如何解决这个问题...你有什么想法吗?

编辑:我刚刚更新了片段为了复制这个问题,我邀请你添加 4 个新的 div 并删除第三个,然后尝试删除其他的......其中一个会引起一些麻烦

function newText() {
var text = prompt("Merci d'entrer une tache");
if (text != "") {
addElement(text);
}
}

function deletediv(id) {
var parent = document.getElementById('ft_list');
parent.removeChild(parent.childNodes[id]);

}

function addElement(text) {
var id = document.getElementById('ft_list').children.length
var ref = document.getElementById(id);
if (id == "")
id = 1;
else
id++;
var newDiv = document.createElement('div');
newDiv.setAttribute('class', "line");
newDiv.setAttribute('id', id);
newDiv.setAttribute('onclick', 'deletediv(this.id);');
var newContent = document.createTextNode(text);
newDiv.appendChild(newContent);
document.getElementById("ft_list").insertBefore(newDiv, ref);
}
#ft_list {
border: 1px dashed lightgrey;
min-height: 30vh;
}
.line {
background: lightgrey;
padding: 5px;
margin: 5px
}
input {
background: lightgrey;
width: 150px;
height: 50px;
}
<input type="submit" name="submit" value="New" onclick="newText()">
<div id="ft_list">

</div>

最佳答案

更新你的功能

       function deletediv(t) {
t.parentElement.removeChild(t);
}

function addElement(text) {
var id = document.getElementById('ft_list').children.length
var ref = document.getElementById(id);
if (id == "")
id = 1;
else
id++;
var newDiv = document.createElement('div');
newDiv.setAttribute('class', "line");
newDiv.setAttribute('id', id);
newDiv.addEventListener('click', function() {
deletediv(newDiv)
});
var newContent = document.createTextNode(text);
newDiv.appendChild(newContent);
document.getElementById("ft_list").insertBefore(newDiv, ref);
}

关于javascript - 某些 id 的 RemoveChild 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49363815/

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