Mic*_*ael 44 javascript html-table
我有以下HTML表格:
<table border="1">
<tr>
<td>blue</td>
</tr>
<tr>
<td>red</td>
</tr>
<tr>
<td>black</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我希望此表中的每一行都有一个自动分配给每个项目的数字.
他怎么办?
Dav*_*mas 84
以下CSS枚举表行(demo):
table {
counter-reset: rowNumber;
}
table tr {
counter-increment: rowNumber;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}
Run Code Online (Sandbox Code Playgroud)
table {
counter-reset: rowNumber;
}
table tr {
counter-increment: rowNumber;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}Run Code Online (Sandbox Code Playgroud)
<table border="1">
<tr>
<td>blue</td>
</tr>
<tr>
<td>red</td>
</tr>
<tr>
<td>black</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
如果无法使用CSS,请尝试以下JavaScript代码(演示):
var table = document.getElementsByTagName('table')[0],
rows = table.getElementsByTagName('tr'),
text = 'textContent' in document ? 'textContent' : 'innerText';
for (var i = 0, len = rows.length; i < len; i++){
rows[i].children[0][text] = i + ': ' + rows[i].children[0][text];
}
Run Code Online (Sandbox Code Playgroud)
var table = document.getElementsByTagName('table')[0],
rows = table.getElementsByTagName('tr'),
text = 'textContent' in document ? 'textContent' : 'innerText';
for (var i = 0, len = rows.length; i < len; i++) {
rows[i].children[0][text] = i + ': ' + rows[i].children[0][text];
}Run Code Online (Sandbox Code Playgroud)
<table border="1">
<tr>
<td>blue</td>
</tr>
<tr>
<td>red</td>
</tr>
<tr>
<td>black</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
小智 24
如果您也使用标题,则需要以下内容:http: //jsfiddle.net/davidThomas/7RyGX/
table {
counter-reset: rowNumber;
}
table tr:not(:first-child) {
counter-increment: rowNumber;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}
Run Code Online (Sandbox Code Playgroud)
注意:":不是(:第一个孩子)"在那里.
Con*_*Fan 10
以下是David Thomas的CSS解决方案的修改,该解决方案在表格中有或没有标题行.它会递增td每行第一个单元格上的计数器(从而仅使用th单元格跳过行):
table
{
counter-reset: rowNumber;
}
table tr > td:first-child
{
counter-increment: rowNumber;
}
table tr td:first-child::before
{
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}
Run Code Online (Sandbox Code Playgroud)
你可以在这个jsfiddle中看到行为.