1. ホーム
  2. javascript

[解決済み] イベントを発生させた要素のIDを取得する

2022-03-18 23:31:30

質問

イベントを発生させた要素のIDを取得する方法はありますか?

のようなものを考えています。

$(document).ready(function() {
  $("a").click(function() {
    var test = caller.id;
    alert(test.val());
  });
});
<script type="text/javascript" src="starterkit/jquery.js"></script>

<form class="item" id="aaa">
  <input class="title"></input>
</form>
<form class="item" id="bbb">
  <input class="title"></input>
</form>

但し、もちろんvar test は、idを含む必要があります。 "aaa" は、最初のフォームからイベントが発生した場合、そして "bbb" は、2番目のフォームからイベントが発生した場合です。

解決方法は?

jQueryの場合 event.target は常にイベントをトリガーした要素を参照します。 event は関数に渡されるパラメータです。 http://api.jquery.com/category/events/event-object/

$(document).ready(function() {
    $("a").click(function(event) {
        alert(event.target.id);
    });
});

また、以下の点に注意してください。 this でも動作しますが、これはjQueryオブジェクトではないので、これに対してjQuery関数を使用したい場合は、このオブジェクトを $(this) , 例:

$(document).ready(function() {
    $("a").click(function(event) {
        // this.append wouldn't work
        $(this).append(" Clicked");
    });
});