哪个是显示最初隐藏的HTML元素的最佳做法?
前者的缺点是HTML中可能不必要的元素必须首先用CSS隐藏。后者的缺点是HTML存在于JavaScript文件中。
编辑:添加示例
一个例子是添加加载指示器或显示模态窗口。
答案 0 :(得分:2)
还有很多因素可以解决这个问题。如果要插入像链接这样的小元素或选择列表选项,那么在javascript中动态生成它们是没有问题的。如果要生成重复的一系列复杂HTML,最好在标记中创建html模板(以便Web设计人员可以维护它),然后将模板隐藏在CSS中。然后使用javascript(例如jQuery)克隆模板并将其插入DOM。这使您可以使用更多本机实现来扩展DOM树,而无需使用所有令人讨厌的javascript来解析HTML混乱。
但最终实用性归结为:谁将维护代码?更优雅的解决方案是维护者会理解的吗?或者将javascript中的所有东西(尽管它不合适)放在一个初级编码器能够在未来需要时扩展或更新的东西?
绝大多数网络浏览器都在硬件上运行,这些硬件对用户实际“需要”的内容过于强大,至少在网页浏览方面如此。因此,Javascript中的低效解决方案很少成为当前的问题。如果您的目标是移动浏览器,效率= =电池续航时间。因此,如果你正在进行大量的dom操作,那么请考虑上面的建议,看看它是否适用于你的情况。
祝你好运! -Brendan
答案 1 :(得分:1)
这个问题的答案曾经非常偏向于“在你需要之前不要创造它。”
该决定背后的原因仍然有些适用,但没有 - 尽可能接近它们。
所有人都说,我会通过CSS隐藏它,而不是试图动态添加内容。