如果它包含一个包含“BG5”的onClick,我需要一个可以在所有td上更改颜色的jQuery脚本。 它需要在IE7上工作。我试过$(“a:contains('BG5')”)。css(“background”,“#F6CED8”);
这可能吗?
他们通过推动按钮获得效果
<tr bgcolor='#F2F2F2'>
<td>2011-04-18</td>
<td>a</td>
<td>a</td>
<td align="center"><a href="#" onClick="edit('BG5')"><img src="../img/icon/skruenogle.png" border=0 alt="Delete corr"></A>
<td align="center"><a href="#" onClick="disregard('BG5')"><img class="click" src="../img/icon/redcross.png" border=0 alt="Delete corr"></A></td>
</tr>
<tr bgcolor='#FFFFFF'>
<td>2011-04-18</td>
<td>a</td>
<td>a</td>
<td align="center"><a href="#" onClick="edit('1A1')"><img src="../img/icon/skruenogle.png" border=0 alt="Delete corr"></A>
<td align="center"><a href="#" onClick="disregard('1A1')"><img class="click" src="../img/icon/redcross.png" border=0 alt="Delete corr"></A></td>
</tr>
答案 0 :(得分:2)
如果我理解正确,那么您要做的就是更改包含tr
标记的每个a
元素的背景颜色,该标记在属性中包含字符串“BG5”名为onClick
。
如果这是沿着正确的方向行,请尝试这样的事情:
$("a").filter(function() {
if($(this).attr("onClick")) {
return $(this).attr("onClick").indexOf("BG5") !== -1;
}
}).closest("tr").css("background-color", "blue");
这是使用您的HTML和上述jQuery的working example。基本上它的作用是获取所有a
个元素,过滤它们,这样我们只留下onClick
属性中包含字符串“BG5”的元素,得到最接近的tr
元素那些,并设置背景颜色。
需要注意的一点是,attr
方法区分大小写,因此您需要确保与HTML一致!
另外,您确实不应该使用bgcolor
属性as it's deprecated。应始终使用CSS代替。此外,您的问题代码中还有一些td
元素尚未关闭。这可能只是问题上的一个错字,但值得一提以防万一!