30

我有以下内容:

    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')
4

2 回答 2

57

您可以使用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)
于 2012-07-21T08:50:33.163 回答
8

你几乎是对的。parent()只需对( docu )使用正确的拼写并添加addClass()( docu ) 调用即可。

tdToPad.parent('tr').addClass( 'X-' + pad );
于 2012-07-21T08:51:43.690 回答