我需要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的高度,但是由于某些原因,style不想合作。
这是处理图像的脚本:
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';
}
}发布于 2013-10-25 18:25:10
style属性不会直接映射到style属性,它也不是字符串。
改为编辑.style.backgroundColor和.style.color。
发布于 2013-10-25 18:38:28
尝尝这个,
var tablec2 = document.getElementsByTagName('tr');
for (var i=0; i<tablec2.length; i++) {
var tr = tablec2[i]; if(colorToHex(tr.style.backgroundColor).toLowerCase() == "#A55129".toLowerCase()){
tr.style.backgroundColor = "#888";
}
}
function colorToHex(color) {
if (color.substr(0, 1) === '#') {
return color;
}
var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
var red = parseInt(digits[2]);
var green = parseInt(digits[3]);
var blue = parseInt(digits[4]);
var rgb = blue | (green << 8) | (red << 16);
return digits[1] + '#' + rgb.toString(16);
};https://stackoverflow.com/questions/19587211
复制相似问题