在设计 html 界面元素时,DOM 根据某些事件显示/隐藏是一个非常常见的场景。我的问题很简单,但每次遇到这个问题时,我总是想知道:将元素硬编码在 html 中并简单地切换显示属性(例如使用 .show/.hide)或动态添加/删除它们是否“更好”根据需要通过JS?两者的实现都很简单,但我忍不住想知道它们如何比较,以及使用其中一种相对于另一种是否有任何优点/缺点。
在某些情况下,例如在多个地方逐字使用同一个元素时,动态创建 DOM 似乎是有意义的,但另一方面,理论上对它们进行硬编码更易于维护,因为您可以四处移动 DOM并根据需要更改它们,只要 jQuery 的选择器仍然相同,它们就会按预期工作。一般来说,从设计师的角度来看,硬编码似乎是可行的方法,但我期待着一些想法,也许我在这里可能会忽略的事情。
编辑:“硬编码”是指根本不通过 JS 插入的元素;也就是说,元素的位置已经在原始 html 标记的父文档中指定,而不是由 JS 指定。
最终,这实际上取决于您正在使用的内容以及您的应用程序的功能,但是:
静态标记意味着服务器需要做更多的工作(但前提是页面首先是动态生成的,对于静态页面,效果可以忽略不计)。
动态标记意味着客户需要做更多的工作,这并不总是坏事,具体取决于您的目标受众。
然而,从技术上讲,Graceful Degradation建议静态标记是可行的方法,因为理想情况下,页面应该在禁用脚本的情况下保持可用(动态标记是工作静态核心之上的可选层)。
另一方面,渐进增强从那里开始构建,基本上说,由于我们已经在使用一个基本的核心,所以我们可以在客户端的所有气缸上启动,并利用利用了内容的动态增强静态标记。最新的浏览器技术。
例如,jQuery UI和jQuery Mobile是围绕渐进式增强而设计的,因为它们的策略是使用更丰富的客户端行为来扩展现有标记,通常通过动态创建的元素来公开。
因此,标题中的两个选项可以而且可以说应该一起实施。在一般情况下,如果可能的话,渲染应用程序在无脚本平台上工作所需的标记,然后从客户端增强该标记看起来是一个好主意。
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |