0

我有一个来自 PHP assoc 数组的 JSON:

Array(
    [0] = > Array(
        [topicid] = > 17
        [entry] = > number 12 this one
        [belongdate] = > 2017 - 06 - 12
        [edittime] = > 2012 - 06 - 18 05: 22: 21
        [User_ID] = > 1
    )
    [1] = > Array(
        [topicid] = > 9
        [entry] = > yeah 11 now
        [belongdate] = > 2017 - 06 - 12
        [edittime] = > 2012 - 06 - 18 05: 22: 02
        [User_ID] = > 1
    )
)

我不直接给你 JSON 是因为我不知道如何正确打印 JSON。

我需要创建父 div 和多个子元素:

        <div name='entrydiv' class='entrydiv'>          
            <h3 name='topich3' class='topich3'>
                entryjson[i]['topicid']
            </h3>
            <p name='entryp' class='entryp'>
                entryjson[i]['entry']
            </p>
            <a name='belongdatea' class='belongdatea' style='display: none;'>
                entryjson[i]['belongdate']
            </a>
            <a name='lastedittimea' class='lastedittimea'>
                entryjson[i]['edittime']
            </a>
        </div>

请注意,内容是来自 JSON 的变量。我已经查看了这篇文章。但是 .append 方法似乎不支持将变量传递给内容。并且 .appendTo 方法不允许子元素(?)。我非常感谢您的帮助。谢谢。

4

2 回答 2

1

这是一个例子。要创建此 DOM 结构:

<div name='entrydiv' class='entrydiv'> 
    <h3 name='topich3' class='topich3'>
       entryjson[i]['topicid']
    </h3>
</div>

你可以使用这个纯 JavaScript 代码:

var mainDiv = document.createElement("div");
mainDiv.name = mainDiv.className = "entrydiv";
document.body.appendChild(mainDiv);

var item = document.createElement("h3");
item.name = item.className = "topich3";
item.innerHTML = entryjson[i]['topicid'];
mainDiv.appendChild(item);

您可以为其他部分添加代码,然后添加一个循环来遍历您的 JSON 以重复。

于 2012-06-17T22:02:33.710 回答
1

如果您想创建以下结构:

<div class="yourClassInHTML">
...
<div>
<img src="thePath"></img>
</div>
...
</div>

那么 .js 代码将是:

var element1 = document.createElement("div");
var element2 = document.createElement("img");
img.src = "thePath";
element1.appendChild(element2);
document.getElementsByClassName("yourClassInHTML")[0].appendChild(element1);
于 2014-12-09T18:21:20.117 回答