获取触发事件的元素的 ID

2022-08-29 22:07:29

有没有办法获取触发事件的元素的 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 应该包含 id ,如果事件是从第一个窗体触发的,并且 ,如果事件是从第二个窗体触发的。test"aaa""bbb"


答案 1

在jQuery中,总是引用触发事件的元素,其中是传递给函数的参数。http://api.jquery.com/category/events/event-object/event.targetevent

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

还要注意,这也将起作用,但它不是一个jQuery对象,所以如果你想使用它的jQuery函数,那么你必须把它引用为,例如:this$(this)

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

答案 2

作为参考,试试这个!它的工作原理!

jQuery("classNameofDiv").click(function() {
    var contentPanelId = jQuery(this).attr("id");
    alert(contentPanelId);
});