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

Ala*_*an2 27 jquery

我有以下内容:

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

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

就像是:

<tr class='X-60'>
   <td>
   </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

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

tdToPad.Parent('tr')
Run Code Online (Sandbox Code Playgroud)

und*_*ned 49

你可以使用closest()方法:

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

tdToPad.closest('tr')
       .addClass('X-' + pad)
Run Code Online (Sandbox Code Playgroud)

更新:

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


Sir*_*rko 6

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

tdToPad.parent('tr').addClass( 'X-' + pad );
Run Code Online (Sandbox Code Playgroud)