1

テーブルに 3 つの列を追加すると、リスト項目がそれらを埋めません。代わりに、セル内で未定義と表示されます。誰かができれば、理想的にはリスト項目に 6x6 のテーブルが必要です。乾杯。

var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog", "log", "pan", "can", "man", "pin", "gag", "sat", "pat", "tap", "sap", "tag", "gig", "gap", "nag", "sag", "gas", "pig", "dig", "got", "not", "top", "pop", "god", "mog", "cot", "cop", "cap", "cod", "kid", "kit", "get", "pet", "ten", "net", "pen", "peg", "met", "men", "mum", "run", "mug", "cup", "sun", "mud", "rim", "ram", "rat", "rip", "rag", "rug", "rot", "dad", "sad", "dim", "dip", "did", "mam", "map", "nip", "tin", "tan", "nap", "sit", "tip", "pip", "sip", "had", "him", "his", "hot", "hut", "hop", "hum", "hit", "hat", "has", "hug", "but", "big", "bet", "bad", "bad", "bed", "bud", "beg", "bug", "bun", "bus", "bat", "bit", "fit", "fin", "fun", "fig", "fan", "fat", "lap", "lot", "let", "leg", "lit" ];

var shuffledWords = listOfWords.slice(0, 6);
 shuffledWords.sort(function () {
   return 0.5 - Math.random();
});

var tbl = document.createElement('table');
tbl.className='tablestyle';

 for (var i = 0; i < shuffledWords.length; i++) {
   var word = shuffledWords[i];
   var row = document.createElement('tr');
 //Here is where I add the extra 3 columns
 for (var j = 0; j < word.length + 3; j++){
   var cell = document.createElement('td');


    cell.textContent = word[j];
    // IF FIREFOX USE cell.textContent = word[j]; INSTEAD
    row.appendChild(cell);
  }

  tbl.appendChild(row);    
}

document.body.appendChild(tbl);
4

2 に答える 2

1

1 行に 2 つの単語を表示しようとしている場合は、次のようにすることができます。

var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog", "log", "pan", "can", "man", "pin", "gag", "sat", "pat", "tap", "sap", "tag", "gig", "gap", "nag", "sag", "gas", "pig", "dig", "got", "not", "top", "pop", "god", "mog", "cot", "cop", "cap", "cod", "kid", "kit", "get", "pet", "ten", "net", "pen", "peg", "met", "men", "mum", "run", "mug", "cup", "sun", "mud", "rim", "ram", "rat", "rip", "rag", "rug", "rot", "dad", "sad", "dim", "dip", "did", "mam", "map", "nip", "tin", "tan", "nap", "sit", "tip", "pip", "sip", "had", "him", "his", "hot", "hut", "hop", "hum", "hit", "hat", "has", "hug", "but", "big", "bet", "bad", "bad", "bed", "bud", "beg", "bug", "bun", "bus", "bat", "bit", "fit", "fin", "fun", "fig", "fan", "fat", "lap", "lot", "let", "leg", "lit" ];

var shuffledWords = listOfWords.slice(0).sort(function () {
    return 0.5 - Math.random();
}).slice(0, 12);

var tbl = document.createElement('table');
tbl.className='tablestyle';
var wordsPerRow = 2;

for (var i = 0; i < shuffledWords.length; i += wordsPerRow) {
    var row = document.createElement('tr');

    for (var j=i; j < i + wordsPerRow; ++ j) {
        var word = shuffledWords[j];

        for (var k = 0; k < word.length; k++){
            var cell = document.createElement('td');


            cell.textContent = word[k];
            // IF FIREFOX USE cell.textContent = word[j]; INSTEAD
            row.appendChild(cell);
        }
    }
    tbl.appendChild(row);    
}

document.body.appendChild(tbl);

これのデモを追加しました: http://jsfiddle.net/Ks2Nk/

于 2012-07-13T13:49:05.537 に答える
0

6x6 行の文字をランダム化しようとしているかどうかわからない

試していない場合

cell.textContent = word[j%3];

しかし、これは単に単語を繰り返すだけです

たとえば、マットの場合

あなたが持っているでしょう

マットマット

于 2012-07-13T13:59:01.023 に答える