2015-07-01 238 views
0

我有兩個表Javascript jQuery。添加類時,相同的數據的最新

<table> 
    <tr> 
     <td class="myclass" data-date="2015-07-09"> Some text </td> 
    </tr> 
</table> 

<table> 
    <tr> 
     <td data-date="2015-07-09"> Text </td> 
    </tr> 
</table> 

我想要做的是:

首先走班「MyClass的」,並給它添加一個新的類「的NewClass」。我可以很容易地做到這一點通過$('.myclass').addClass('newclass');

其次我想搜索的DOM,如果有一個< TD>它具有數據日期與.myclass < TD相同>,也增加了新發現的< TD>的.newclass

預先感謝您

回答

3

您可以使用:

$('td[data-date='+$('.myclass').data('date')+']').addClass('newclass'); 

這將滿足您正在尋找的兩個條件。即向兩個td元素添加類。

$('.myclass').data('date')將獲取myclass元素的日期。和屬性值選擇器來定位所有與myclass具有相同數據的td元素,包括myclass本身。

+0

精湛的兄弟..你能解釋一下它有點.. –

+0

哦,是的,它看起來不錯:)有沒有需要以不同的方式對兩個表分配類。 –

+0

它的工作!謝謝兄弟,這真是太棒了! –

0

試試這個

$("td[data-date='2015-07-09']").addClass('myClass'); 
0

如果您爲表格添加id,則可以使其更加簡單。
first-table-namesecond-table-name

在這種情況下,你將能夠使用此代碼做到這一點:

$("#first-table-name .myclass").each(function() { 
    $(this).addClass("newClass"); 
    $("#second-table-name td[data-date='" + $(this).data('date') + "']").addClass("newClass"); 
}); 
1

你可以簡單地做:

$('.myclass').each(function() { 
    $('td[data-date="' + $(this).attr('data-date') + '"]').addClass('newclass'); 
}): 

這將新類添加到每個元件都具有相同的數據-date,其中包含與myclass

原來的一個,即使您有多個行myclass這將工作正常 - 假設您的q問題比你的實際需要更加基礎。

相關問題