jQuery:点击另一个TD,突出显示具有相同值的TD

时间:2014-04-02 13:21:38

标签: javascript jquery html onclick background-color

我有一个大型HTML表,每个onclick都有td个事件(类myClass)。

有没有办法让它通过点击TD我改变所有具有相同值的td的背景颜色,或以任何其他方式突出显示它们?

我正在寻找的是一种快速的方法,可以显示具有相同值的td,而无需过滤表格。

示例TR:

<tbody>
    <tr>
        <td class="myClass">Value 1</td>
        <td class="myClass">Value 5</td>
        <td class="myClass">Value 3</td>
        <td class="myClass">Value 1</td>
        <td class="myClass">Value 2</td>
    </tr>
    <tr>
        <td class="myClass">Value 3</td>
        <td class="myClass">Value 2</td>
        <td class="myClass">Value 1</td>
        <td class="myClass">Value 5</td>
        <td class="myClass">Value 2</td>
    </tr>
</tbody>

2 个答案:

答案 0 :(得分:2)

这样,只要您点击td,它就会突出显示所有td个相同的文字黄色。

$("td").click(function() {
  var value = $(this).text();
  $("td")
   .css("background-color", "")
   .filter(function(){
     return $(this).text() === value;
   })
  .css("background-color", "yellow");
});

您可以在jsFiddle上看到这一点。

答案 1 :(得分:1)

这是一个直接的jquery答案,这是一种蛮力,但我认为这与你想要的一致

$('.myClass').on('click',function(choice){
   var choiceText = $(choice).text();
   $('.myClass').each(function(index, element){
       if($(element).text() === choiceText){
           //do whatever you need
       }

    });
});