2014-04-02 40 views
-1

我在每个td(类别myClass)上都有一个包含onclick事件的大型HTML表格。jQuery:通过点击另一个TD来突出具有相同值的TD

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

我在找的是一种快速显示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> 
+0

什么线去。 – j08691

+0

你有什么尝试? “过滤”表的含义是什么?为了获得你想要的行为,你必须确保过滤表格元素是一种方式 –

回答

2

这将使它所以,只要你点击一个td,它会突出显示所有td s的相同的文字黄色。

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

您可以在jsFiddle上看到此操作。

+0

这是完美的 - 正是我所期待的。非常感谢您的快速帮助,我会尽可能接受。 – user2571510

1

这里是一个直线上升的jQuery答案是蛮力,但我想沿着你忘了张贴您是否尝试过的JavaScript你想

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

    }); 
}); 
+0

彼得奥尔森答案更好 – RadleyMith

+0

谢谢反正 - 公平竞赛。 :) – user2571510