我有三个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?
答案 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