使用 jQuery 查找包含元素的 ID

发布于 2024-09-11 17:31:48 字数 571 浏览 3 评论 0原文

<li id="someID">
    <div id="div1">Text</div>
    <div id="div2">Text x 2</div>
    <div id="div3">Text x 3</div>
        <span>
            <div>
                <ul>
                    <li class="menuItem">Menu Item</li>
                </ul>
            </div>
        </span>
</li>

简而言之,当单击“menuItem”类时,我试图找到 ID“someID”。下面的代码似乎并没有削减它。

$('.menuItem').click(function(){alert($(this).closest('li').attr('id'));});
<li id="someID">
    <div id="div1">Text</div>
    <div id="div2">Text x 2</div>
    <div id="div3">Text x 3</div>
        <span>
            <div>
                <ul>
                    <li class="menuItem">Menu Item</li>
                </ul>
            </div>
        </span>
</li>

In short, I'm trying to find the ID "someID" when the class "menuItem" is clicked. The code below doesn't seem to be cutting it.

$('.menuItem').click(function(){alert($(this).closest('li').attr('id'));});

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

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

发布评论

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

评论(4

把昨日还给我 2024-09-18 17:31:48

而不是 .closest('li'). 使用 .parents('li').注意复数

甚至提到在 closest() 文档 ..

instead of .closest('li'). use the .parents('li'). (note the plural)

It is even mentioned at the closest() documentation ..

失退 2024-09-18 17:31:48

另一种方法是在您尝试识别的 li 上放置一个类,并使 .closest() 选择器更加精确。

例如

<li class="master" id="someID">
    <div id="div1">Text</div>
    <div id="div2">Text x 2</div>
    <div id="div3">Text x 3</div>
        <span>
            <div>
                <ul>
                    <li class="menuItem">Menu Item</li>
                </ul>
            </div>
        </span>
</li>

$('.menuItem').click(function(){alert($(this).closest('li.master').attr('id'));});

Another approach is to put a class on the li you are trying to identify, and make the .closest() selector more precise.

e.g.

<li class="master" id="someID">
    <div id="div1">Text</div>
    <div id="div2">Text x 2</div>
    <div id="div3">Text x 3</div>
        <span>
            <div>
                <ul>
                    <li class="menuItem">Menu Item</li>
                </ul>
            </div>
        </span>
</li>

$('.menuItem').click(function(){alert($(this).closest('li.master').attr('id'));});
鲜血染红嫁衣 2024-09-18 17:31:48

如果您想要父级,则可以使用 此处记录的 .parent

If you want the parent then you could use .parent which is documented here

面犯桃花 2024-09-18 17:31:48

你可以使用.parent

.parents("li") so it will return the li parent

you can use .parent

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