여러 개의 행과 여러 개의 열이 있어야합니다. 이를 달성하는 가장 쉬운 방법은 단어 목록 대신에 두 가지 모두를 반복하는 것입니다.
은 당신이 당신의 코멘트를 삭제 볼 수 있지만 에 항목이 당신이 할 필요가 및 random
사용하여 목록을 뒤섞이고, 이동하는을 무작위 : 원래 목록이 필요한 경우로
var listOfWords = ["mat","cat","dog", "pit", "pot", "fog", "log", "pan", "can", "man"];
listOfWords.sort(function() { return 0.5 - Math.random(); });
을
var listOfWords = ["mat","cat","dog", "pit", "pot", "fog", "log", "pan", "can", "man"];
var shuffledWords = listOfWords.slice(0);
shuffledWords.sort(function() { return 0.5 - Math.random(); });
전체 솔루션
: 보존, 첫 slice
를 사용하여 목록의 복사본을 생성이미 jQuery를 사용하고 있으므로 새 노드 (<tr>
, <td>
등)를 만드는 가장 좋은 방법은 전체 HTML을 작성하는 것이 아니라 jQuery()
function ($()
과 동일)을 사용하여 노드를 만들 수 있습니다. 그렇게하면 노드의 모든 DOM 및 jQuery 함수에 액세스 할 수 있습니다 (예 : appendTo()
.
var listOfWords = ["mat","cat","dog", "pit", "pot", "fog", "log", "pan", "can", "man"];
var shuffledWords = listOfWords.slice(0);
shuffledWords.sort(function() { return 0.5 - Math.random(); });
var table = $('<table>'); // <-- creates a new jQuery object containing a <table> node
var rows = 4;
var cols = 5;
var tr;
var index;
for (var row=0; row < rows; row++) {
tr = $('<tr>');
for (var col=0; col < cols; col++) {
index = (row*cols) + col;
$('<td>').text(shuffledWords[index]).appendTo(tr);
}
tr.appendTo(table);
}
table.appendTo('body');
데모
당신은 live example here을 볼 수 있습니다
이 시도해보십시오.
댓글을 삭제하고 대신 질문을 수정하고 두 번째 요청을 추가하십시오. – Bergi
@Bergi 질문을 수정하는 이유는 무엇입니까? – m0onio
[질문 수정] (http://stackoverflow.com/faq#howtoask)에 [편집 링크] (http://stackoverflow.com/posts/11451521/edit)가 있습니다. 추가 요청이있을 때. – Bergi