DOM 테이블이 포함 된 웹 응용 프로그램을 작성하고 있습니다. 이 배열에서 테이블을 만들어야 내 코드입니다 :자바 스크립트 배열 또는 색인이 정의되지 않았습니다.
function create_table() {
var tablediv=document.getElementById('icon-table');
var table = document.createElement("table");
var grid = [[15][15]];
var template = "pixel-{1}-{2}";
table.className = "icon-table";
tablediv.appendChild(table);
for (var i = 0; i < 16; i++) {
var tr = document.createElement("tr");
table.appendChild(tr);
for (var j = 0; j < 16; j++) {
var td = document.createElement("td");
td.className = "icon-pixel";
td.id="pixel-"+ i + "-" + j;
td.style.backgroundColor = "rgb(255,255,255)"; // no dash - css attribute name becomes camelCase
grid[i][j] = td;
td.addEventListener("click", setpixel)
td.addEventListener("mousedown", pinselpixel)
tr.appendChild(td);
}
}
}
할당 표 [i] [j] = td; 첫 번째 루프 반복 중에 실패합니다. 내가 무엇을 놓치고
TypeError: undefined is not an object (evaluating 'grid[i][j] = td')
: 출력 말한다 브라우저에서 콘솔에 ?
에
내가 생각하는 VAR 그리드 = [[15] [15]; 가 잘못되었으므로 정의되지 않은 – stack26
을 포함하는 길이 1의 배열을 제공합니다. [15] [15]는 하나의 항목 (숫자가 '15') 인 배열과 같고 배열에서 16 번째 항목을 취합니다 존재하지 않으므로 정의되지 않습니다). 'var foo = []; foo.push (15); foo [15]'. – h2ooooooo
[JavaScript로 2 차원 배열을 만들려면 어떻게해야합니까?] 가능한 복제본 (https://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript) –