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>

親のIDを提供しないのはなぜですか?

私も次のことを試しました

$(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 に答える