【发布时间】:2018-06-28 01:30:17
【问题描述】:
所以,我是 Javascript 的新手。我正在尝试使用纯 javascript 生成一个 Bootstrap 4 可折叠组件。我可以整天构建一个静态生成的 Bootstrap 4 可折叠,它工作得很好。当我尝试使用纯 javascript 以动态方式(createElement、setAttribute、appendChild 等)生成一个时,问题就出现了。
当我尝试以这种方式创建一个时,它根本不起作用。我可以点击它,它不会展开或折叠,但我可以在开发人员的控制台中发出如下命令并观察它是否正常工作(是的,我意识到下面的命令是 jQuery,只是想弄清楚发生了什么):
$('.collapse').collapse('toggle')
此外,当我查看我在开发人员控制台中动态创建的页面元素时,它们与我静态创建的工作示例相匹配。
我已经浏览了几个小时的网络并尝试了几种不同的代码迭代(例如使用 .class.add() 而不是 setAttribute()),但没有在任何解决方案中运行。
不,不,我不完全知道自己在做什么,但我正在努力学习。我有一些示例代码说明了我在 jsfiddle.net 上遇到的问题:
Bootstrap 4 Collapsible Experiment
如果有人能给我一些建议,我将非常感激。谢谢。
【问题讨论】:
-
您的 HTML 中需要
<div id='first_div'></div>。如果您确实没有问题从静态 HTML 创建可折叠,那么我建议您先执行此操作,然后处理从标记到脚本的每个组件。ATM 您看起来好像跳过了步骤或缺少逻辑块。我也认为你应该认真了解事件。 -
@zer00ne,感谢您的反馈。你是对的,这个例子不是我在正式编码环境中包含的东西。我只是想快速拿出一些东西,以确保我不会因为我目前的知识库有限而错过一些我不知道的东西。我确实有一个问题。您是否在代码中看到了一些特定的内容,这些内容将您引向了“了解事件”评论?只是想确定我没有误解别的东西。谢谢!
-
我在 n00bs 编写的代码中注意到的一个常见模式是他们对事件缺乏理解。用户交互要求代码必须是面向事件的。使用 Bootstrap API 会“在后台”执行大量代码,因此它是学习 JavaScript/jQuery 的一种糟糕方式。
-
好的,这很有意义。如果时间允许,我确实计划更深入地研究语言,而活动绝对是该计划的一部分。感谢您抽出宝贵时间提交反馈。
标签: javascript html twitter-bootstrap collapsable