0

(.html の本体ではなく、.js ファイルでのコーディング)

したがって、リストがある場合: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>

2番目: a、b、またはcをランダムに生成し、そのリスト内でランダムなリスト項目を生成するにはどうすればよいですか?

生成された選択ができたら、それを画面に印刷したいと思います。

/W

4

2 に答える 2

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 に答える
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);
}

JSFiddle

于 2012-12-04T11:03:26.430 に答える