我想更改包含给定链接的“tr”元素的背景颜色。
我的片段:
var color1 = "red";
var targetForum = $("tr a[href*='showforum=28']");
targetForum.each ( function () {
var thisRow = $(this).parent ().parent ().parent ();
thisRow.style.backgroundColor = color1;
}
我尝试了rgb值和十六进制,但bg颜色没有任何反应。
目标页面如下所示:
<tr>
<td class="row2" align="center">
<td class="row1" width="3%" align="center">
<td class="row1">
<td class="row1" width="15%">
<span class="forumdesc">
<a title="Off-Topic" href="showforum=41">ForumABC</a>
</span>
</td>
<td class="row1" align="center">
<td class="row2" align="center">
<td class="row1" align="center">223460</td>
<td class="row1">
</tr>
答案 0 :(得分:1)
unsafeWindow.$
obj.style
设置jQuery-object的style-property,而是使用css()
我建议:(你不需要每个人)
unsafeWindow.$("tr:not(:has(tr)):has(a[href*='showforum=28'])").css('backgroundColor','red');
答案 1 :(得分:0)
以jQuery方式设置样式(如前所述,thisRow
是一个jQuery对象)
那将是:thisRow.css ('backgroundColor', color1);
。
然而,如果网站使用背景图片,颜色可能似乎不会生效。使用:
thisRow.css ('background', color1);
确保任何BG图像都不会掩盖颜色变化。
最后,该网站可能会设置表格单元格的BG样式,这可能会再次掩盖行颜色变化。要解决这个问题,请同时设置<td>
元素的样式。
那就是:
targetForum.each ( function () {
var thisRow = $(this).parent ().parent ().parent ();
thisRow.css ('background', color1);
thisRow.find ("td").css ('background', color1);
}