Is there any way to get the ID of the element that fires an event?
I’m thinking something like:
$(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>
Except of course that the var test
should contain the id "aaa"
, if the event is fired from the first form, and "bbb"
, if the event is fired from the second form.
Advertisement
Answer
In jQuery event.target
always refers to the element that triggered the event, where event
is the parameter passed to the function. http://api.jquery.com/category/events/event-object/
$(document).ready(function() { $("a").click(function(event) { alert(event.target.id); }); });
Note also that this
will also work, but that it is not a jQuery object, so if you wish to use a jQuery function on it then you must refer to it as $(this)
, e.g.:
$(document).ready(function() { $("a").click(function(event) { // this.append wouldn't work $(this).append(" Clicked"); }); });