2

我试图获取单击元素的父元素的 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

4 回答 4

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
});
于 2013-05-21T07:47:32.833 回答
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/

于 2013-05-21T07:49:00.777 回答
-1

不知道为什么,但我的浏览器存储了 Javascript 文件的旧副本并使用了它。我在前一个中有非工作代码。原始帖子中的片段可以正常工作。

于 2013-05-21T10:38:31.530 回答
-1

我认为:

 $(event.target).parent().attr("id");
于 2013-05-21T07:48:24.283 回答