У меня есть следующая (упрощенная) структура таблицы:
<table class="form-table">
<tbody>
<tr>
<tr><--Need to select and add class on this guy based on h3 class "check"-->
<th scope="row">
<h3 class="check">Default Checbox:</h3>
</th>
<td>
</tr>
</tbody>
</table>
Поэтому я хочу выбрать "таблицу строк" над классом "h3" класса h3. Таблица генерируется динамически, поэтому я не могу просто использовать :eq()
:gt()
или :lt()
.
Чтобы выбрать этого парня, я использую этот код:
$('tbody tr').find('h3.check').parent().addClass('cool');
$('.cool').parent().addClass('until');
Но проблема в том, что я делаю ненужный класс "классным", чтобы сделать выбор.
<table class="form-table">
<tbody>
<tr>
<tr>
<tr class="until"><--Class successfully added but..-->
<th class="cool" scope="row"><--An extra Class in order to select "table row"-->
<h3 class="check">Default Checbox:</h3>
</th>
<td>
</tr>
</tbody>
</table>
Есть ли лучший способ для этого (без добавления ненужного класса)?
Вы можете использовать .has()
$('tbody tr').has('h3.check').addClass('cool');
или : имеет
$('tbody tr:(h3.check)').addClass('cool');