0

我的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>
4

3 回答 3

1

您可以使用.closest()

对于集合中的每个元素,通过测试元素本身并向上遍历其在 DOM 树中的祖先来获取与选择器匹配的第一个元素。

$('#options_22_text').closest('dl').addClass('myClass');
于 2014-04-02T16:46:30.990 回答
0

应该管用:

$('#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');
于 2014-04-02T16:45:35.723 回答
0

使用最接近()来获取祖先标签dl

现场演示

$('#options_22_text').closest('dl').addClass('myClass');
于 2014-04-02T16:46:48.603 回答