有什么方法可以获取触发事件的元素的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”(如果事件是从第二个表单触发)。


当前回答

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

var $el = $(event.target);

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

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

其他回答

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

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

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

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

对于所有事件,不限于jQuery可以使用

var target = event.target || event.srcElement;
var id = target.id

事件的地方。目标失败,则返回事件。IE的srcElement。 澄清一下,上面的代码不需要jQuery,但也可以使用jQuery。

和我一起工作

jQuery自动完成

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

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

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

这适用于比上述答案中提到的事件参数更高的z-index:

$("#mydiv li").click(function(){

    ClickedElement = this.id;
    alert(ClickedElement);
});

通过这种方式,您将始终获得元素(在本例中为li)的id。此外,当单击父元素的子元素..