创建div并添加样式

时间:2011-03-22 11:18:47

标签: json dojo

我有一个id =“elements”的大div我从JSON文件中加载新的元素对象,我需要为每个元素创建新的div内部元素(元素div应该包含很多较小的div,对于每个元素一个小) div)。如何将这个小div放在这个大div中?如何添加这个小div的类风格?

4 个答案:

答案 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);
    }

那就是你在寻找什么?