gpt4 book ai didi

javascript - 问题 removeChild of many elements

转载 作者:行者123 更新时间:2023-11-28 16:40:42 24 4
gpt4 key购买 nike

我有一个函数,它使用 animate 类(使用 css3 动画)创建 div,然后在 webKitAnimationEnd 触发时删除它。当我有多个 div 时,问题就来了:该函数只删除第一个,但与其他 div 一起失败,导致 Uncaught TypeError: Cannot call method 'removeChild' of null

function msg(x) {
cnt = document.getElementsByClassName("animate").length;
div = document.createElement("div");
div.textContent = x;
div.className = "animate";
div.style.bottom = (cnt) * 30 + "px";
document.getElementById("wrapper").appendChild(div);
div.addEventListener("webkitAnimationEnd", function () {
div.parentNode.removeChild(div);
});
}

这是一个 jsfiddle,我的代码重现了这个问题:http://jsfiddle.net/p5HR3/3/

我怀疑函数在有很多 div 时不知道要删除哪个 div。我能做什么?提前致谢。

最佳答案

将事件处理程序代码更改为:

this.parentNode.removeChild(this);

在那种情况下this将指向正确的 div,它触发了一个事件。

附注:onClick="for(i=0;i<10;i++){msg('message n.'+i);}" - 这不好。不要使用内联 Javascript。

关于javascript - 问题 removeChild of many elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289432/

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