如何使用jQuery找到td的父tr?

时间:2012-07-21 08:48:30

标签: jquery

我有以下内容:

    tdToPad = tds.filter('[id^="input_Title_"]')
    pad = 60;
    tdToPad.css('margin-left', pad);

我想要做的是删除任何以“X-”开头的类,并将“tdToPad”包含的行赋予“X-”+ pad类。

类似的东西:

<tr class='X-60'>
   <td>
   </td>
</tr>

因为toToPad引用了一行中的td元素。如何给父级tr“X-”+ pad?我想我需要类似下面这样的东西,但如果这是正确的方法,那么我怎样才能删除那里已经有一个“X-”somevalue类的元素然后给这个元素正确的类?

tdToPad.Parent('tr')

2 个答案:

答案 0 :(得分:46)

您可以使用closest()方法:

  

获取与选择器匹配的第一个元素,从当前元素开始并逐步向上遍历DOM树。

tdToPad.closest('tr')
       .addClass('X-' + pad)

<强>更新

tdToPad.closest('tr').get(0).className = tdToPad.closest('tr').get(0).className.replace(/\bX\-.*?\b/g, '');
tdToPad.closest('tr').addClass('X-' + pad)

答案 1 :(得分:6)

你几乎是对的。只需对parent()docu)使用正确的拼写,并为其添加addClass()docu)来电。

tdToPad.parent('tr').addClass( 'X-' + pad );