我尝试将每行中第一个td元素的颜色更改为红色。
HTML:
<table id="test">
<tr>
<td>test1</td>
<td>test2</td>
</tr>
<tr>
<td>test3</td>
<td>test4</td>
</tr>
</table>
我试过这个JS:
var tr = document.getElementsByTagName('tr');
tr.firstChild.style.color = 'red';
请不要Jquery。
答案 0 :(得分:6)
#test tr td:nth-of-type(1) {
color: red;
}
或者
#test tr td:first-child {
color: red;
}
答案 1 :(得分:6)
使用行和单元格访问表格的行和列。见下面的代码,
var table = document.getElementById('test');
for (var i = 0; i < table.rows.length; i++) {
var firstCol = table.rows[i].cells[0]; //first column
firstCol.style.color = 'red'; // or anything you want to do with first col
}
答案 2 :(得分:2)
正如另一篇回复中所说,css是实现这一目标的自然方式。
当您遇到js时,可以使用js在页面中注入样式表:
var styleNode=document.createElement("style");
document.head.appendChild(styleNode);
var cssString="#test tr td:first-child {color: red;}";
if (styleNode.styleSheet) { // IE
styleNode.styleSheet.cssText = cssString;
}
else {
styleNode.appendChild(document.createTextNode(cssString));
}
使用样式表的好处是可以避免竞争条件(动态构建表时的情况)。