在jQuery中获取父元素

时间:2013-05-21 07:40:04

标签: javascript jquery html events

我试图获取被点击元素的父元素的id。我试过这个

$(window).click(function(event) {
    alert("Clicked on " + event.target.id + ". Its parent is " + $(event.target).parent().attr("id"));
});

如果我有以下结构,则返回Clicked on x. Its parent is undefined

<div id="y">
    <div id="x">X</div>
</div>

为什么不给父母的身份?

我也试过以下

$(this).closest("div").attr("id");
$(this).parent().attr('id')

4 个答案:

答案 0 :(得分:1)

$(document).on('click', '.clicked-element', function(){
    parentElId = $(this).parent().attr('id');
   // parentElId = $(this).parents('.custom-parent-class').attr('id'); // if you wan't the id from a different parent
});

答案 1 :(得分:0)

您可能使用jquery

的before()函数
<div class="container">
  <h2>Greetings</h2>
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div> 

$('.inner').before('<p>Test</p>');

输出:

<div class="container">
  <h2>Greetings</h2>
  <div class="inner">Hello</div>
  <p>Test</p>
  <div class="inner">Goodbye</div>
</div>

以下是该功能http://api.jquery.com/before/

的详细链接

答案 2 :(得分:-1)

我想:

 $(event.target).parent().attr("id");

答案 3 :(得分:-1)

不确定原因,但我的浏览器存储了Javascript文件的旧副本并使用了它。我在前一个代码中有非工作代码。原帖中的片段工作正常。