Мой html:
<dl class="last">
<dt><label>Medidas</label></dt>
<dd class="last">
<div class="input-box">
<input type="text" value="" name="options[22]" class="input-text product-custom-option" id="options_22_text" onchange="opConfig.reloadPrice()">
</div>
</dd>
</dl>
У меня есть id options_22_text в качестве ссылки, мне нужно добавить класс на dl.
Кто-нибудь может мне помочь?
Я хочу, чтобы результат состоял в следующем:
<dl class="last myClass">
<dt><label>Medidas</label></dt>
<dd class="last">
<div class="input-box">
<input type="text" value="" name="options[22]" class="input-text product-custom-option" id="options_22_text" onchange="opConfig.reloadPrice()">
</div>
</dd>
</dl>
Вы можете использовать .closest():
Для каждого элемента в наборе получите первый элемент, который соответствует селектору, путем тестирования самого элемента и прохождения через своих предков в дереве DOM.
$('#options_22_text').closest('dl').addClass('myClass');
Используйте ближайший(), чтобы перейти к тегу предка dl
$('#options_22_text').closest('dl').addClass('myClass');
должно сработать:
$('#options_22_text').parents('dl.last').addClass('myClass');
Если выше не работает, удалите dl
и сохраните только .last
(имя класса).
Примите во внимание, если это вложенное, что означает, что будет больше last
классов, все они будут найдены. в этом случае вы можете сделать:
$('#options_22_text').closest('dl').addClass('myClass');
// or if you want something a bit faster / more specific
$('#options_22_text').parent().parent().parent().addClass('myClass');