How can I find the parent tr of a td using jQuery?

I have the following:

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

What I would like to do is to remove any class that starts with "X-" and give the row that is contained by "tdToPad" a class of "X-" + pad.

Something like:

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

Being that toToPad refers to the td element in a row. How can I give the parent tr the class "X-" + pad ? I think I need something like the following but if that's the correct way to do it then how can I remove elements already there with a class of "X-" somevalue and then give this element the correct class?

tdToPad.Parent('tr')

Answers


You can use closest() method:

Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree.

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

update:

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

You're almost right. Just use the correct spelling for parent() (docu) and add a addClass() (docu) call to it.

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

Need Your Help

What are the differences between feather and parquet?

python pandas parquet feather pyarrow

Both are columnar (disk-)storage formats for use in data analysis systems.