2014-04-02 72 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