纯 Javascript-生成的 Bootstrap4 可折叠不会展开或折叠

Pure Javascript-Generated Bootstrap4 Collapsible Won't Expand or Collapse

所以,我是 Javascript 的新手。我正在尝试使用纯 javascript 生成 Bootstrap 4 可折叠组件。我可以构建一个静态生成的 Bootstrap 4 collapsible 一整天,工作得很好。当我尝试以动态方式(createElement、setAttribute、appendChild 等)使用纯 javascript 生成一个时,问题就出现了。

当我尝试以这种方式创建一个时,它根本行不通。我可以单击它,它不会展开或折叠,但我可以在开发人员的控制台中发出如下命令并观察它工作得很好(是的,我意识到下面的命令是 jQuery,只是想弄清楚了解发生了什么):

$('.collapse').collapse('toggle')

此外,当我查看我在开发人员控制台中动态创建的页面元素时,它们与我静态创建的工作示例相匹配。

我在网上浏览了几个小时并尝试了几个不同的代码迭代(例如使用 .class.add() 而不是 setAttribute())而不是 运行解决方案。

不,不,我不完全知道自己在做什么,但我正在努力学习。我有一些示例代码可以说明我在 jsfiddle.net:

上遇到的问题

Bootstrap 4 Collapsible Experiment

如果有人能给我一些指点,我将不胜感激。谢谢

您的代码中有错字。你的目标和折叠元素的 id 不一样。

我为跟踪错误所做的工作(也许这对您下次有帮助):我将 Bootstrap 站点的示例放在您的代码旁边,它确实起作用了。所以我知道 Bootstrap 不是问题的根源。

然后我检查了(在浏览器的检查器中)这两个元素以查看它们的不同之处。

当我在你的 id 中看到破折号 (-) 时,我觉得很奇怪,因为你会避免在 Javascript: Javascript and CSS, using dashes 中使用破折号。所以,我发现了你的触发器和目标之间的差异。