Javascript 在jquery中动态创建元素列表的最佳实践
我肯定有很多关于这个主题的问题和文章,我只是似乎找不到我想要的东西 我有一个表单,其中一个字段不包含一个数字(1到30),我想创建x个元素,其中x是所选的数字,所有元素都应该具有大致相同的HTML结构,只是id不同。这些元素很复杂,我认为应该使用HTML/CSS对它们进行格式化,因为我觉得js应该只包含业务逻辑,有点MVC风格 我想我的问题有两个:Javascript 在jquery中动态创建元素列表的最佳实践,javascript,jquery,html,Javascript,Jquery,Html,我肯定有很多关于这个主题的问题和文章,我只是似乎找不到我想要的东西 我有一个表单,其中一个字段不包含一个数字(1到30),我想创建x个元素,其中x是所选的数字,所有元素都应该具有大致相同的HTML结构,只是id不同。这些元素很复杂,我认为应该使用HTML/CSS对它们进行格式化,因为我觉得js应该只包含业务逻辑,有点MVC风格 我想我的问题有两个: 这是一个“哲学”问题:在HTML/CSS中保留“视图”(格式/布局/设计)和在js中保留“控件”(逻辑)是一个好主意吗?我是web开发新手,我不确定
谢谢 我认为使用客户端合成框架(比如KnockoutJs,但是还有很多其他框架,比如Ember、Angular)会让您受益匪浅 这样,您就可以将您的模型(在剔除的情况下是viewmodel)保持在JavaScript中,而只需要担心视图在模板化HTML中的实现 看看那些很酷的击倒教程,也许这就是你想要的
我认为使用客户端合成框架(如KnockoutJs,但也有很多其他框架,如Ember、Angular)会让您受益匪浅 这样,您就可以将您的模型(在剔除的情况下是viewmodel)保持在JavaScript中,而只需要担心视图在模板化HTML中的实现 看看那些很酷的击倒教程,也许这就是你想要的
var-inputCount=paraeInt$('input').val()),
elementMarkup=$('');
对于(变量i;i
var-inputCount=paraeInt$('input').val(),
elementMarkup=$('');
对于(变量i;i
为什么不简单地创建一个“模板”元素->克隆它->动态添加一个id?选中此项会很有帮助。。。在初始下载时,尽可能保持页面的轻量级,然后您可以在以后动态添加所需内容。重复ID问题很小,因为在克隆时可以很容易地解决。请尝试使用angularjs。可能有助于解决您的问题。为什么不简单地创建一个“模板”元素->克隆它->动态添加一个id?选中此项将很有帮助。。。在初始下载时,尽可能保持页面的轻量级,然后您可以在以后动态添加所需内容。重复ID问题很小,因为在克隆时可以很容易地解决。请尝试使用angularjs。可能有助于解决您的担忧。
var inputCount = paraeInt$('input').val()),
elementMarkup = $('<div class="dynamic- div"/>');
for(var i; i < inputCount; i++){
$('body').append(elementMarkup);
}