1

我敢肯定有很多关于这个主题的问题和文章,我似乎无法找到我正在寻找的东西......

我有一个表单,其中一个字段除了数字(1 到 30),我想创建 x 个元素,其中 x 是选择的数字,所有元素应该具有大致相同的 HTML 结构,仅在它们的 id 上有所不同。元素很复杂,我认为我应该使用 HTML/CSS 格式化它们,因为我觉得 js 应该只包含业务逻辑,有点 MVC 风格。

我想我的问题有两个:

  1. 是一个“哲学”问题:尝试保留 HTML/CSS 中的“视图”(格式/布局/设计)和 js 中的“控件”(逻辑)是一个好主意吗?我是网络开发新手,我不确定网络开发架构哲学......

  2. 考虑到我想在我的 js 中保留格式,我该如何动态添加/复制 HTML 元素,同时将 HTML 保存在它所属的同一个文件中。我的第一个想法是创建尽可能多的元素,隐藏,并在需要时显示正确数量的元素,但这不是最好的方法......我的第二个想法是使用 jquery .clone() 函数,但这会创建重复的 id。

谢谢。

4

2 回答 2

1

我认为您会真正受益于使用客户端合成框架(如 KnockoutJs,但还有很多其他框架,如 Ember、Angular)。

这样,您可以将模型(在 Knockout 的情况下为视图模型)保留在 JavaScript 中,而只需担心视图在模板化 HTML 中的实现。

查看很酷的淘汰赛教程,也许它就是您想要的

http://learn.knockoutjs.com/

于 2013-09-24T10:20:15.303 回答
0
var inputCount = paraeInt$('input').val()),
elementMarkup = $('<div class="dynamic-    div"/>');

for(var i; i < inputCount; i++){
 $('body').append(elementMarkup);
}
于 2013-09-24T10:34:55.163 回答