0

(在 .js 文件中编码,而不是在 .html 的正文中)

所以,如果有一个列表:category = ['a', 'b', 'c'];

并且每个列表项都有自己不同的选择:

category[0] = ['long textstring1', 'longtextstring2', 'longtextstring3'];
category[1] = ['long textstring1', 'longtextstring2', 'longtextstring3'];
category[2] = ['long textstring1', 'longtextstring2', 'longtextstring3'];

第一:如何在我的 .js 文件中的列表中写入列表?(猜测你不能像在一个身体里那样做<ul><li>等等)

第二:我如何随机生成a,b或c,然后在该列表中随机生成一个列表项?

当我有自己的选择时,我非常想在屏幕上打印出来。

/W

4

2 回答 2

0

这可能会帮助您解决问题的第一部分,根据您的输入生成列表:

var category = ['a', 'b', 'c'];
category[0] = ['long textstring1', 'longtextstring2', 'longtextstring3'];
category[1] = ['long textstring1', 'longtextstring2', 'longtextstring3'];
category[2] = ['long textstring1', 'longtextstring2', 'longtextstring3'];

var container = document.getElementById("container");
for(var i = 0; i < category.length; i++)
{
    var list = document.createElement("ul");
    for(var j = 0; j < category[i].length; j++)
    {
        var listItem = document.createElement("li");
        var txt = document.createTextNode(category[i][j]);
        listItem.appendChild(txt);
        list.appendChild(listItem);
    }
    container.appendChild(list);
}

JSF中。

于 2012-12-04T11:03:26.430 回答
0

您可以像上面那样使用多维数组在列表中创建一个列表。然而,如果你想要一个像 -> [list] 这样的映射,你需要使用一个对象:

{"a": ['long textstring1'], "b": ['long textstring1']}

如果您使用数组而不是对象来获取随机属性,实际上会更容易。例如:

var category = [['ls1', 'ls2'], ['ls1', 'ls2']];

然后你可以使用以下方法获得一个随机子列表:

var rand = category[Math.floor(Math.random() * (category.length + 1)) + min];

关于如何从 JS 对象中获取随机属性有几个答案

于 2012-12-04T10:58:54.860 回答