给出这个代码:
var words = ['ac', 'bd', 'bf', 'uy', 'ca'];
document.getElementById("wordTable").innerHTML = arr2tbl(2);
function arr2tbl(ncols) {
return words.reduce((a, c, i) => {
if (i % ncols == 0) a.push([]);
a.at(-1).push(c);
return a;
}, []).map(r => "<tr>" + r.map(c => `<td>${c}</td>`).join("") + "</tr>").join("\n");
}
<table id="wordTable"></table>
代码会打印出这张表
<table>
<tr>
<td>ac</td> <td>bd</td>
</tr>
<tr>
<td>bf</td> <td>uy</td>
</tr>
<tr>
<td>ca</td><td></td>
</tr>
</table>
但我想 for each 单词分配id,这样我就可以动态地格式化它们,
这样的事情
<table>
<tr>
<td id="1">ac</td> <td id="2">bd</td>
</tr>
<tr>
<td id="3">bf</td> <td id="4">uy</td>
</tr>
<tr>
<td id="5">ca</td><td></td>
</tr>
</table>
这样以后我就可以有这样的功能了
function formatWord (wordID){
document.getElementById(wordID).style.color ="red";
}
用户可以随机拨打formatWord (2); formatWord (5);..
如果我们不能用"td"来做这件事,那也没关系.只要我能动态格式化表格中的单词.
How to add id to each element in this case?