获取$(此)的ID

时间:2015-07-22 19:35:02

标签: jquery

我尝试获取我在内容中搜索的元素的ID:

$headings = jQuery('.kb-content').find('h2');
jQuery($headings).each(function() {
    jQuery('#kb-postnav .nav').append('<li><a href="'+$(this).attr('id')+'">'+$(this).text()+'</a></li>');
});

但是id的结果是未定义的。 我在谷歌搜索很长时间,发现很多“回答”,但没有工作:

this.id;
$(obj).attr('id');
...

编辑:抱歉我的错,找到了问题:h2元素的id是在我的函数之后创建的。但是这个函数也会为h2元素添加额外的内容。所以我想现在得到父母的身份。 像

<div id="test">
    <h2>This is a test</h2>
</div>

所以当元素已经在找到的列表中时,我想在查找('h2')之后得到父元素。

1 个答案:

答案 0 :(得分:1)

您找到的元素没有ID,因为this.id工作正常:

jQuery('.kb-content h2').parent().each(function() { 
    alert(this.id);
});
/* Alternative
jQuery('.kb-content h2').each(function() { 
    alert(this.parentElement.id);
});
*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parentid" class="kb-content">
  <h2 id="id1">Title</h2>
</div>
<div id="jb-postnav">
  <div class="nav"></div>
</div>