【发布时间】:2012-09-10 19:14:54
【问题描述】:
我是前端开发的新手,我经常遇到的一个问题是在使用 JS/JQuery 动态生成 HTML 时不要重复自己。
让我们考虑一个具有多种状态的 DOM 对象。通常,你想要用 JS 做的就是从一种状态切换到另一种状态。但是通过在 DOM 对象上调用 html() 来执行此操作会使您在多个不同的位置(以及在 JS 文档中)编写相同的 HTML 代码。那么这样做的 DRY 方式是什么?
基本上,我想做的是在我的 HTML 文档中为每个状态预先编写一个示例 DOM(不改变文档结构),并且能够用我的状态的示例替换我的 DOM想要在飞行中。
【问题讨论】:
-
实际上有多少需要通过重写 DOM 来完成?以 DRY 方式更改页面外观和属性的一种技术是保持一致的结构,但更改 DOM 的类定义。这使您可以完全重新设置页面的样式。您还可以使用 .hide() 和 .show() 隐藏和显示元素。这可以避免将大量代码写入 DOM。相反,您有选择地重新设计和隐藏/显示
-
听起来你应该保留生成的 DOM,并切换类以显示/隐藏 DOM 的相关部分,而不是每次都尝试重建相同的区域。
标签: javascript jquery html dry