Onclick,每个循环和这个问题

时间:2013-10-31 12:30:35

标签: jquery loops onclick this each

一直在寻找解决方案,但搜索是一件困难的事情。所以这里:

我有一个onclick功能:

$(".div-colour-box").on("click", function () {

进入每个循环:

$("#" + componentID).children("div.div-colour-box").each(function (i) {

然后我想检查< div>触发onclick函数的是当前在每个循环中迭代的项目。

但是,据我所知,当使用jQuery时,$(this)更改为引用当前在每个循环中迭代的项目,并且有效忘记哪个对象触发了onClick事件

如何比较两者,看看它们是否相同?

谢谢!

2 个答案:

答案 0 :(得分:3)

将您的初始元素保存到变量:

$(".div-colour-box").on("click", function () {
    var clickedOn = this;
    $("#" + componentID).children("div.div-colour-box").each(function (i, element) {
        if(element == clickedOn) {
            //...
        }
    });
});

答案 1 :(得分:0)

变化:

$(".div-colour-box").on("click", function () {

$(".div-colour-box").on("click", function (e) {

使用:$(e.currentTarget)获取触发click事件的jquery对象。