我有一个id =“elements”的大div我从JSON文件中加载新的元素对象,我需要为每个元素创建新的div内部元素(元素div应该包含很多较小的div,对于每个元素一个小) div)。如何将这个小div放在这个大div中?如何添加这个小div的类风格?
答案 0 :(得分:2)
像这样创建一个新的DOM元素:
var childDiv = document.createElement('div');
然后像这样添加到外部div:
var insertedElement = div.insertBefore(childDiv, null);
然后,当您迭代JSON数据并将它们插入div节点时,您将继续创建childDivs。
答案 1 :(得分:2)
在Dojo中(因为你有dojo标签):
var div_elements = dojo.byId("elements");
dojo.forEach(json_data.items, function(item) {
dojo.create("div", { "class":"whatever " + item.classNames }, div_elements);
});
当然,您可以将任何内容作为div的类。我刚才提供了一个例子。在dojo.create
的第二个参数中,传入一个哈希,其中包含div
所需的所有属性。
答案 2 :(得分:1)
我认为你需要这样的东西:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
json_data = 'Hey';
$('#elements').append('<div class="in_elements">' + json_data + '</div>');
});
</script>
<div id="elements">
</div>
测试
答案 3 :(得分:1)
有一个简单的jQuery函数:
var box= $("#elements");
// create elements
for (var i=0; i<items.length; i++) {
var t = $("<div class=\"element\" id=\"item_"+i+"\">"+items[i]['text']+"</div>");
box.append(t);
}
那就是你在寻找什么?