css选择器-jquery最接近的dl元素



HTML:

<dl id="feature-list">
    <dt id="basic" class="category-name">
    <dd id="basic-toggle" class="category-recepient">
        <div class="feature">
            <div class="feature-content">
            <input id="checkbox1" type="checkbox">
        </div>
        </div>
    </dd>
    <dt id="options" class="category-name">
    <dd id="options-toggle" class="category-recepient">
        <div class="feature">
            <div class="feature-content">
            <input id="checkbox2" type="checkbox">
        </div>
        </div>
    </dd>
</dl> 

JQUERY

$('input').change(function () {
    var value = $(this).closest("dt");
    //do something with value.id
});

$(this).closest("dt")返回复选框而不是<dt id="(category)" class="category-name">

我尝试了$(this).closest(.category-name)$(this).closest("dt").find(.category-name)

<dt>不是<dd>的祖先,所以closest()永远找不到它。

尝试:

$(this).parents('dd:first').prev('dt'); // or prev('.category-name')

演示:http://jsfiddle.net/fJkUq/

您还需要关闭<dt>标签,它们不应该包含<dd>,而是与它们相邻。

最新更新