0

我是 jQuery 新手,我想获取div ID's最后三个 iD 的列表。

我的需要是当用户单击取消按钮时,我想将用户移动到最后一次单击的 div。

4

3 回答 3

3

尝试这个:

var clicks = [];
$("div[id^=test]").on('click',function() {
    clicks.push(this.id);
});
$("button").on('click',function() {
    console.log(clicks.pop())
});

这使用一个数组来存储所有点击,并显示并删除按钮点击的最后一个。

阅读.push().pop()

演示在这里

于 2013-10-05T19:43:02.347 回答
2

制作一个“历史”数组,每次单击 div 时推送 id:

var history = [];
$('div').click(function(){
    history.unshift(this.id);
})

并在取消点击:

$('button.cancel').click(function(){
    history.shift();
})
于 2013-10-05T19:40:27.933 回答
0

要保存以前的点击,您需要将点击存储在数组中,如下所示:

clicks = [];
$(function () {
    $("div").on("click", function (e) {
        // The following is what you wanted, but the uncommented code is better (as it saves future DOM lookups)
        // clicks.shift($(this).attr("id"));
        clicks.shift(this);
        // If you want to use jQuery on the objects, you'll need to call jQuery on them ex: $(this)

        // If you do want to remove previous elements, uncomment the following code
        // if(clicks.length > 3){
        //  clicks.pop();
        // }
    });
});

每次点击时,被点击的对象将被存储在数组(clicks.push(this))中。稍后您可以引用该数组。clicks[0]将有最近的点击,clicks[1]下一个最近的,等等。

因此,要执行您所描述的操作,您将按照以下方式创建一个函数:

$(function () {
    $("#cancel").on("click", function (e) {
        $(clicks[1]).yourMethods();
    });
});
于 2013-10-05T19:50:41.170 回答