使用 javascript 设置表行的样式属性
Setting the style property for table rows using javascript
>假设我有一个这样的页面
<html>
<body>
<table id="t1">
<tr><th>Head1</th><th>Head2</th></tr>
<tr><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
</table>
</body>
</html>
我的 CSS
table th { background:color1;}
table td { background:color2;}
如何使用 javascript 语句更改除标题行之外的所有行的背景颜色。循环遍历每一行和每一列是唯一的方法吗?
我可以document.getElementById('t1').rows[1]
和rows[2]
并更改背景。但是有没有其他有效的方法呢?
您可以遍历元素并更改背景
var els = document.getElementById("t1").getElementsByTagName("td");
for(var i=0;i<els.length;i++){
els[i].style.background = "green"
}
在行上放置一个类,并将背景放在 CSS 中,就像处理表格一样
你可以试试这个:
table th {background: color1;}
table tbody {background: color2;}
<table id="t1">
<tr><th>Head1</th><th>Head2</th></tr>
<tbody id="t2">
<tr><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
</tbody>
</table>
在脚本中:
document.getElementById('t2').style.backgroundColor=color3;
编辑
也可以向特定styleSheet
添加规则。
.CSS:
table th {background: color1;}
table td {background: color2;}
脚本:
var sSheet = document.styleSheets[0];
if (sSheet.insertRule) {
sSheet.insertRule('td {background-color: color3}', sSheet.cssRules.length);
} else { // For IE < 9
sSheet.addRule('td', 'background-color: color3', -1);
}
您还可以修改现有规则本身:
var tdRule,
sSheet = document.styleSheets[0];
if (sSheet.cssRules) {
tdRule = sSheet.cssRules[1];
} else { // For IE < 9
tdRule = sSheet.rules[1];
}
tdRule.style.backgroundColor = color3;
我使用JQuery。
$('td').css('background','#3232');
相关文章:
- 通过jQuery添加ng样式属性,angular不更新
- CSS样式属性留空
- d3.js圆的半径是否可以由样式属性指定
- 如何通过JQuery修改样式属性
- 为什么样式属性不适用于使用DOMParser创建的元素
- 使用 jQuery 获取样式属性值
- 如何让firefox使用style['attribute name']=设置样式属性
- Javascript未返回样式属性
- 如何使主体采用等同于 style=“background-color: returnBlue()” 的样式属性,其中 r
- 如何在javascript中获取样式属性的初始值
- javascript正则表达式,用于编辑元素内部的css样式属性
- 如何删除样式属性
- 使用 javascript 设置表行的样式属性
- Pre 标记似乎忽略了样式属性(例如 display:none)
- DOM 元素上的空样式属性:JavaScript
- 使用父标签中的样式属性附加新标签
- Jquery-查找具有给定样式属性的元素
- 样式属性上的JS语法
- 如何在IE9剥离样式属性值之前获取该值
- 为什么浏览器在此样式属性中插入“9”