获取最后点击的ID - jQuery

时间:2012-02-28 17:38:17

标签: jquery

我有三个div ...

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>

当我点击一个随机div时,它会将div的顺序移到顶部(例如,让我们使用ID#2)。因此,在此之后,div可能会按时间顺序排列。以下示例......

<div id="2"></div>
<div id="1"></div>
<div id="3"></div>

所以如果是这种情况,有没有办法获得我点击的最后一个div ID?

7 个答案:

答案 0 :(得分:5)

你是说这个吗?

var lastID;

// document.ready
$(function() {
    $("div").on("click", function() {
        lastID = $(this).attr("id");
    });
});

function something() {
    // lastID is the id of the last div clicked.
}

在document.ready函数之外声明lastID意味着它可以全局访问,因此您可以在以后的其他函数中使用它。

答案 1 :(得分:3)

您点击的最后一个将位于顶部,因此请使用:first selector:

var lastId = $('div:first').attr('id');

答案 2 :(得分:1)

var lastClicked;

$("div").on("click", function() {
    console.log(lastClicked); //last one
    console.log(this.id); //this one
    lastClicked = this.id; //makes this the last one
});

答案 3 :(得分:0)

var lastOne="";   
 $(function({   
        $('div').on("click",function(){
           console.log(lastOne+"div was clicked before");
            lastOne=$(this).attr('id');// id of the clicked div           
        });
    }));

也许这可以帮到你!

答案 4 :(得分:0)

lastId = $("div#parent div:first").attr('id');

答案 5 :(得分:0)

创建一个名为LastId的var,将此var置于click函数之外。在click函数内部用它的id更新它。

$(document).ready(function(){
    var LastId = "";

    $('div').on("click",function() {
        LastId = $(this).attr('id');
    });
});

希望这会有所帮助:D

答案 6 :(得分:0)

我实际上经常使用类,如:

HTML:

<div class="orderable">
  <div id="1"></div>
  <div id="2"></div>
  <div id="3"></div>
</div>

jQuery:

$(".orderable").on("click", "div", function() {
  $(".orderable .lastClicked").removeClass("lastClicked");
  $(this).addClass("lastClicked").prependTo(".orderable");
});

因此,当事情四处移动时,我确定了最后一个元素:

点击div:

<div class="orderable">
  <div id="2" class="lastClicked"></div>
  <div id="1"></div>
  <div id="3"></div>
</div>

正如其他人提到的那样,在您的示例中,最后点击的内容可能始终是列表中的第一个,在这种情况下您可以去:

jQuery:

$(".orderable div:first") // Probable selector for last clicked