更改TD上的bgcolor,其中包含一个包含XXX的onClick

时间:2011-10-22 18:36:40

标签: jquery html search onclick

如果它包含一个包含“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>

1 个答案:

答案 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元素尚未关闭。这可能只是问题上的一个错字,但值得一提以防万一!