【问题标题】:Change bgcolor on TD where that contain a with a onClick that contain XXX在 TD 上更改 bgcolor,其中包含 a 和包含 XXX 的 onClick
【发布时间】:2011-12-13 06:56:19
【问题描述】:

我需要一个 jQuery 脚本,如果它包含一个包含“BG5”的 onClick,它可以改变所有 td 上的颜色。 它需要在IE7上工作。我试过 $("a:contains('BG5')").css("background","#F6CED8");

这可能吗?

他们 TD 通过按下按钮来获得效果

    <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>

【问题讨论】:

    标签: jquery html search onclick


    【解决方案1】:

    如果我对您的理解正确,您要做的是更改每个 tr 元素的背景颜色,该元素包含 a 标记,该标记在名为 onClick 的属性中具有字符串“BG5” .

    如果这是正确的路线,请尝试以下操作:

    $("a").filter(function() {
        if($(this).attr("onClick")) {
            return $(this).attr("onClick").indexOf("BG5") !== -1; 
        }
    }).closest("tr").css("background-color", "blue");
    

    这是一个working example,使用您的 HTML 和上面的 jQuery。基本上,它所做的是获取所有a 元素,过滤它们,这样我们就只剩下那些在onClick 属性中包含字符串“BG5”的元素,获取最接近这些的tr 元素,并设置背景颜色。

    需要注意的重要一点是attr 方法区分大小写,因此您需要确保与您的 HTML 一致!

    另外,您确实不应该使用bgcolor 属性as it's deprecated。应始终使用 CSS。此外,您问题的代码中还有几个 td 元素尚未关闭。这可能只是问题中的一个错字,但值得一提以防万一!

    【讨论】:

    • 嗨...可以看到您的示例工作正常,但 IE 中的键有问题,而真正的键在 IE7 中不起作用。 jsfiddle.net/xzHAX
    • “有问题”是什么意思? 什么错了?
    猜你喜欢
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多