[英]Append <div> using jquery's forEach and templatePlugin
我因以下问题而奋斗了几个小时:
<div>
不幸的是,只有最后一个对象元素才可视化并加载到DOM。 在之前的步骤中创建的所有其他div被覆盖。
在这里找到一个演示我问题的jsFiddle: http : //jsfiddle.net/7oq053od/1/
您有什么想法,我想念的是什么?
希望能得到一些反馈意见:)
用于附加多个div。 您应该创建一个包含所有子div的主容器,并且在显示时,每个div元素都会被创建并每次都附加到主容器中。 这是一个示例代码:
<div id="container"></div>
//now in javascript create child div elements and append to main container
<script>
for(var items in data)
{
var newChild = $(document.createElement('div'));
$(newChild).css({
//some css code
});
//now appending it to main container
$('#container').append(newChild);
}
</script>
似乎模板插件将模板化的值应用于相同的元素。 如果克隆元素,则脚本将起作用。
$.each(results.features, function (key, value) {
$("#homeView").clone().loadTemplate($("#template"), {
geoFenceName: value.attributes.title,
geoFenceDescription: value.attributes.description
}).appendTo('#fences');
});
在这里查看更新的小提琴
问题是loadTemplate
函数会覆盖div。 您可以通过克隆模板容器,然后将其附加到“ #homeWiew”来解决此问题。
我从您的jsfiddle创建了一个对我有用的叉子:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.