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')
click(function() { console. log($(this). closest("tr"). attr("id")); });
Use closest() method to get the closest parent element matching the selector. closest() - Gets the first element that matches the selector, beginning at the current element and progressing up through the DOM tree.
$(this). closest('tr'). children('td:eq(0)'). text();
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 );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With