I have an array of values in Javascript as follows:
var data = {"A", "B", "C", "D", "E", "F", "G", "H", "I" };
How can I generate a 3x3 HTML table like the following
A B C
D E F
G H I
I have an array of values in Javascript as follows:
var data = {"A", "B", "C", "D", "E", "F", "G", "H", "I" };
How can I generate a 3x3 HTML table like the following
A B C
D E F
G H I
var data = ["A", "B", "C", "D", "E", "F", "G", "H", "I" ]; // corrected Array syntax
var table = document.createElement("table");
var i = 0;
for (var r = 0; r < 3; r++) {
var row = table.insertRow(-1);
for (var c = 0; c < 3; c++) {
var cell = row.insertCell(-1);
cell.appendChild(document.createTextNode(data[i++]));
}
}
document.body.appendChild(table);
createElement, and createTextNode. I've seen many programmers take the shortcut using a string and innerHTML. Personally I prefer your approach.insertRow and insertCell. It works now: jsfiddle.net/ekaw7 For your requirements, replace the outer for loop with a while loop, that checks if data is still available, and an additional check before using the data. Example: jsfiddle.net/ekaw7/1var data = ["A", "B", "C", "D", "E", "F", "G", "H", "I" ];
var html = '<table><tr>';
for(var i = 0 ; i<data.length; i++){
if(i%3 == 0 && i != 0){
html+= '</tr><tr>'
}
html+='<td>'+data[i]+'</td>';
}
html+='</tr></table>';
document.write(html);