gpt4 book ai didi

javascript - 从 json 对象创建定义列表

转载 作者:行者123 更新时间:2023-11-28 21:04:19 25 4
gpt4 key购买 nike

我尝试创建一个工作 json 对象结构来创建定义列表。看看我在这里尝试做什么: jsfiddle

var x =
[{
"dl":
{
"dt":"head 1"
{
"dd":
[
"listitem 1",
"listitem 1",
"listitem 1",
"listitem 1",
"listitem 1"
]
},
"dt":"head 2"
{
"dd":
[
"listitem 2",
"listitem 2"
]
}
}
}]
;

通过执行这段 JS,我尝试从 JSON 对象创建标记:

$.each(x["dl"], function(i,v){
console.log(this.dt, this.dd);
});

使用变量 x 我尝试创建以下标记:

<dl>
<dt>head 1</dt>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>

<dt>head 2</dt>
<dd>listitem 2</dd>
<dd>listitem 2</dd>
</dl>

<dl>
<dt>head 1</dt>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>
<dd>listitem 1</dd>

<dt>head 2</dt>
<dd>listitem 2</dd>
<dd>listitem 2</dd>
</dl>

标记是我需要创建的。我的 JSON 结构做错了什么?

最佳答案

首先,这不是 JSON。这只是一个 JavaScript 对象。 JSON 是 JavaScript 对象的字符串表示

其次,你的对象不正确。您不能拥有多个 dt 属性,我建议将其设为数组。 "dt":"head 1"{ 无效。另外,x 应该是一个对象,而不是(对象的)数组。

我建议让你的对象像这样:

var x = {
"dl": [{
"dt": "head 1",
"dd": ["listitem 1", "listitem 1", "listitem 1", "listitem 1", "listitem 1"]
}, {
"dt": "head 2",
"dd": ["listitem 2", "listitem 2"]
}]
};

x 是一个包含 dl 属性的对象。 x.dl 是一个包含对象的数组。这些对象包含 dtdd 属性。

现在您的代码片段将正常工作:

$.each(x["dl"], function(i,v){ // you can also use "x.dl"
console.log(this.dt, this.dd);
});

通过这个对象可以轻松制作您想要的 HTML。

关于javascript - 从 json 对象创建定义列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com