有什么方法可以获取触发事件的元素的ID ?

我在想:

$(document).ready(function() { $(“a”).click(function() { VaR 测试 = caller.id; alert(test.val()); }); }); <script type=“text/javascript” src=“starterkit/jquery.js”></script> <表单类=“项目” id=“aaa”> <输入类=“标题”></input> </form> <表单类=“项目” id=“bb”> <输入类=“标题”></input> </form>

当然,除了var测试应该包含id“aaa”(如果事件是从第一个表单触发)和“bbb”(如果事件是从第二个表单触发)。


当前回答

this.element.attr("id")在IE8中正常工作。

其他回答

和我一起工作

jQuery自动完成

我尝试寻找如上所述的事件,但当请求函数触发时,它似乎不可用。我使用this.element.attr(“id”)来获得元素的id,它似乎工作得很好。

使用可以使用.on事件

  $("table").on("tr", "click", function() {
                    var id=$(this).attr('id');
                    alert("ID:"+id);  
                });

这适用于大多数类型的元素:

$('selector').on('click',function(e){
    log(e.currentTarget.id);
    });

作为jQuery对象的源元素应该通过

var $el = $(event.target);

这将为您提供单击的源,而不是分配了单击函数的元素。当单击事件在父对象上时是否有用 如。表行上的单击事件,您需要被单击的单元格

$("tr").click(function(event){
    var $td = $(event.target);
});

以Angular 7为例。你可以得到原生元素和它的id或属性。

myClickHandler($event) {
    this.selectedElement = <Element>$event.target;
    console.log(this.selectedElement.id)
    this.selectedElement.classList.remove('some-class');
}

html:

<div class="list-item" (click)="myClickHandler($event)">...</div>