我有两个数组,letters = [A,B,C,...]
和numbers = [1,2,3,...]
,并希望生成一个html表,其中numbers
作为标题,letters
作为第一个条目(然后我可以用我所拥有的价值填写它。 这对于一般数组是否可行?
即,如下所示:
<table>
<thead>
<tr>
<th></th>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr id="A">
<td>A</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr id="B">
<td>B</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr id="C">
<td>C</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
好的,这是我想到的第一种方式:
var letters = ["A","B","C"],
numbers = [1,2,3],
$table = $("<table/>"),
$body = $("<tbody/>").appendTo($table),
$row = $("<tr><th></th></tr>");
$.each(numbers,function(i,val){
$("<th/>").text(val).appendTo($row);
});
$("<thead/>").append($row).appendTo($table);
$.each(letters, function(i,val) {
$row = $("<tr/>").attr("id",val).appendTo($body);
$("<td/>").text(val).appendTo($row);
for (var j = 0; j < numbers.length; j++)
$row.append("<td/");
});
$table.appendTo("body");
演示:http://jsbin.com/ocomit/edit#javascript,html,live
是的,它可以更漂亮和/或更高效。这只使用非常基本的jQuery方法 - 如果你不确定它们中的任何一个,你知道where to look ......
答案 1 :(得分:1)
请尝试这个:
var html = '';
letters = [A,B,C];
numbers = [1,2,3];
html+= "<table><thead><tr><th></th>";
for(i=0;i<letters.length;i++)
html+="<th>"++letters[i]"</th>";
html+= "</tr></thead>";
html+= "<tbody>";
for(j=0;j<numbers.length;j++)
{
html+="<tr id='"+numbers[j]+"'>";
html+="<td>"+numbers[j]+"</td>";
for(k=1;k<letters.length;k++)
html+= "<td></td>";
html+= "</tr>";
}
html+= "</tbody>";
html+= "</table>";
请提醒“html”,您将获得所需的输出。