Как я могу найти родительский tr td с помощью 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')
Ответы
Ответ 1
Вы можете использовать метод 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)
Ответ 2
Ты почти прав. Просто используйте правильное написание для parent()
(document) и добавьте вызов addClass()
() к нему.
tdToPad.parent('tr').addClass( 'X-' + pad );