(在.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
答案 0 :(得分:0)
您可以像上面一样使用多维数组在列表中创建列表。但是,如果您想要像 - &gt;这样的映射[list],你需要使用一个对象:
{"a": ['long textstring1'], "b": ['long textstring1']}
如果使用数组而不是对象来获取随机属性,实际上更容易。例如:
var category = [['ls1', 'ls2'], ['ls1', 'ls2']];
然后你可以使用以下方法获得随机子列表:
var rand = category[Math.floor(Math.random() * (category.length + 1)) + min];
There are several answers on how to get a random property from a JS object
答案 1 :(得分: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);
}