【发布时间】:2015-01-03 07:00:28
【问题描述】:
我无法使用 javascript 或者最好是 jQuery 创建复杂的 html。我的目标是创建这个:
<div class="clone"> <div class="nested_clone> <span> </span> </div> </div>
纯粹使用 jquery 并运行一个循环,我将它多次附加到容器中。 我知道我可以使用 jquery 创建 html 并使用以下代码添加一个类:
clone = $("<div></div>",{ class:"clone"});
nested_clone = $("<div></div>",{class:"nested_clone"});
nested_span = $("<span></span>");
我从这里去的地方是我变得朦胧的地方。因为我想将nested_span 放在nested_clone 中,然后将nested_clone 放在克隆中。然后我想运行一个循环,在其中克隆克隆并将其附加到容器中:
for(i=0; i < some_length; i++ ){ clone.appendTo("Container") }
结果是我的 DOM 中只有一个 Clone 元素。我测试过的任何其他解决方案都失败了,所以我希望这里的 someoen 可以向我展示一些我尚未学习的 JavaScript 魔法。谢谢!
【问题讨论】:
-
您需要一个模板解决方案,否则这将很快变得难以管理。查看 Handlebars (handlebarsjs.com)
-
clone.clone().appendTo("Container")???在您的示例中,您只是一次又一次地在容器末尾移动相同的元素。也就是说,您最好使用上面建议的模板系统 -
如果你需要一个模板系统来创建三个元素并在循环中克隆它们,你可能应该学习更多的jQuery!
-
@adeneo 我猜 OP 想要更复杂的解决方案,我可能错了
-
@A.Wolff - 可能,但我认为模板引擎仍然是可选的。在某些情况下,它使事情变得更容易,在其他情况下,它只是开销,至少在我看来。
标签: jquery html loops clone appendto