【发布时间】:2013-10-25 10:22:10
【问题描述】:
我需要 javascript 来更改表格和 tr 标签中的背景颜色(我无法控制的 html 生成的服务器端)
这里是要修改的html
<table cellspacing="0" cellpadding="3" rules="all" id="cphMain_gvStore" style="background-color:#DEBA84;border-color:#DEBA84;border-width:1px;border-style:None;border-collapse:collapse;">
<tr style="color:White;background-color:#A55129;font-weight:bold;">
这是我的脚本(基于更改图像 src 的工作脚本)
var tablec2 = document.getElementsByTagName('tr');
for (var i=0; i<tablec2.length; i++) {
var tr = tablec2[i];
tr.style = tr.style.replace(/A55129$/, '888');
tr.style = tr.style.replace(/FFF7E7$/, 'F9F9F9');
}
任何想法为什么这种类型的脚本适用于更改高度、宽度和 src 或图像标签但拒绝更改此表的样式标签?
我也使用这个脚本来改变 td 高度,但由于某种原因,样式不想配合。
这是处理图像的脚本:
var images = document.getElementsByTagName('img');
for (var i=0; i<images.length; i++) {
var img = images[i];
img.src = img.src.replace(/0-1-1$/, '0-0-1');
if (img.width == '240' && img.height == '240') {
img.width = '320';
img.height = '320';
}
}
【问题讨论】:
-
你可以使用jquery吗?
-
你调试
tr.style了吗?style是一个特殊对象,包含所有元素的样式,而不是属性内容 - 如果您只想编辑样式属性,则应使用tr.getAttribute('style') -
Style 不是其 CssStyleDeclaration 对象的字符串。
-
@Mr.GT 为什么要为这样的任务加载整个外部库?
-
感谢您的回答 - 我会这样做吗?
code tr.getAttribute('style').backgroundColor = tr.getAttribute('style').backgroundColor.replace(/A55129$/, '888');
标签: javascript