元素似乎无缘无故地断开连接

问题描述 投票:-1回答:1

这是相当高的水平,我正在寻找头脑风暴的想法,我宁愿不要用我编写的令人困惑的代码来轰炸您(我将在最后发表要点)。高级:食谱网站,编写添加食谱表单,在仍使用POST HTML表单的同时添加动态数量的食谱步骤和配料。

我有一个表单,而不是创建REST API和发送JS数组,而是使用vanila JavaScript动态添加<input>元素。我做的很好,修改了某些元素的.innerHTML属性,我在用一些自定义“ poor man's JS”

/插值字符串连接了.innerHTML。美好时光。感觉像1337 h4x0r。

突然,当我单击一个按钮时,没有添加元素,而当我单击另一个按钮时,也没有删除其他元素-这个按钮应该删除配料,而另一个按钮则是在特定步骤中删除。自然,我开始调试并检查出了什么问题:

我要删除的元素在那里,它们已连接到DOM。父元素(我document.querySelect一次并保存到全局变量中,仍然存在(稍后会详细介绍)。我检查了父元素,并相应地更改了HTML(在HTMLElement变量内部),但是我仍然看着浏览器,但令我沮丧的是,这些更改无法让它们出现在我眼前。

[经过几个小时的缓慢而激烈的调试之后,我发现了线索,《约柜》 ...父元素(我在谈论的那个,其他人也遭受了同样的命运),它们没有与DOM连接。从字面上看,元素的isConnected值为false

我正在修改.innerHTML属性,但是元素在LateX中突然不在DOM中!!我不知道该怎么尝试了。

如果您要观察有史以来唯一的唯一代码,这是要点。基本上,我想我必须研究Chromium中的错误或其他东西,因为我的代码总是很完美的:)https://gist.github.com/JakubKoralewski/a45ee04c1e2657214987a49001b66db0

这是相当高的水平,我正在寻找头脑风暴的想法,我宁愿不要用我编写的令人困惑的代码来轰炸您(我将在最后发表要点)。高级:食谱网站,写一个...

javascript html dom
1个回答
0
投票

此问题的答案在于您停止修改元素的.innerHTML属性,该元素是您要存储引用的元素的父级,因为它会导致DOM被重新解析,并且所有引用都将丢失为结果。

有关详细信息,请在Mike Christensen的答案中寻求指导:https://stackoverflow.com/a/11515395/10854888

© www.soinside.com 2019 - 2024. All rights reserved.