0

我需要 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';
   }
}
4

2 回答 2

2

style 属性不直接映射到 style 属性,它不是字符串。

编辑.style.backgroundColor.style.color而不是。

于 2013-10-25T10:25:09.857 回答
0

尝试这个,

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);
};
于 2013-10-25T10:38:27.730 回答