-2

我想获取特定 ID 的父 DIV 的 ID。

这是 HTML:-

<div id="sample-name" class="wrapper-dropdown-5" tabindex="2">
     <div class="m2">Heading</div>
         <ul class="dropdown">
             <div class="menu-border">
                   <li class="orange">
                       <a href="#2" data-jumpslide="2" data-goto="diagnostics">
                       ...
                  ...

<a>是被点击的链接,当它被点击时,我需要父 DIV 的 ID(样本名称)。

这就是我在点击功能中所做的<a>:-

$(this).parents('div:eq(0)').attr('id').split(' ');

但它给了我以下错误: -

未捕获的类型错误:无法调用未定义的方法“拆分”

您认为还有其他方法吗,或者我可以改善这一点?

谢谢。

4

4 回答 4

4

简单的说:

$(this).parents("div").filter(function(i) { return $(this).prop("id"); }).first().prop("id")
于 2013-05-28T17:15:28.143 回答
1

为什么不在wrapper-dropdown-5您正在寻找的父 div 上使用类(在您的示例中)?像这样的东西:

var parentId =  $(this).parents('div.wrapper-dropdown-5').prop('id') ;
于 2013-05-28T17:16:43.553 回答
1

我的建议是使用closest

$(this).closest('[id]').attr('id');

返回具有 id 的最近父级的 id

快速演示

编辑:在进一步审查之后,我得出的结论是最好使用.parents('[id]')而不是closest. closest包含活动元素,您不太可能希望包含它。

于 2013-05-28T17:17:06.377 回答
1

另一种方法:

$(this).parents("div.m2").attr("id");

或者

$(this).parents("ul").parent("div").attr("id");
于 2013-05-28T17:17:18.877 回答