jquery最接近的dl元素

发布于 2024-11-17 02:52:28 字数 1086 浏览 3 评论 0原文

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") 返回复选框而不是

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

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") returns the checkbox instead of <dt id="(category)" class="category-name">

I tried $(this).closest(.category-name), $(this).closest("dt").find(.category-name)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱给你人给你 2024-11-24 02:52:29

不是
的祖先,因此closest() 永远不会找到它。

<dt> is not an ancestor of <dd> , so closest() will never find it.

噩梦成真你也成魔 2024-11-24 02:52:29

尝试:

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

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

您还需要关闭 < ;dt> 标记,它们不应包含

,但应与其相邻。

Try:

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

Demo: http://jsfiddle.net/fJkUq/

You also need to close your <dt> tags, they should not be containing the <dd>, but adjacent to them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文