2012-02-28 67 views
0

我有三個div的...獲得最後點擊的ID - jQuery的

<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

它可能是第一個或第二個div的ID,具體取決於* last *表示的內容以及您想要的ID。 – 2012-02-28 17:40:08

+1

如果你明白我的意思,它是你現在點擊的那個,還是你點擊這個之前點擊的最後一個? – adeneo 2012-02-28 17:41:26

+0

我需要得到我以前點擊的div的id。不是當前的,也不是前面的div順序 – Joe 2012-02-28 17:46:16

回答

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. 
} 

聲明lastID的的document.ready功能以外意味着它的全局訪問,這樣你就可以在其他功能中用到它。

+0

我不得不刪除第二個變種,使它爲我工作。除此之外,它工作B..E..A..UTIFUL。感謝的人 – Joe 2012-02-28 18:04:05

+0

對不起 - 我的部分錯別字,我將刪除:) – Archer 2012-02-28 18:38:35

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

也許這可以幫助你!

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

您點擊會在頂部,所以使用的最後一個:第一選擇:

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

將名爲LastId變種,使這個變種點擊功能之外。並在點擊功能內更新它的ID。所以像

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

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

希望這有助於:d

+0

你現在不要動態添加div!所以你應該使用.on – 2012-02-28 17:44:42

+0

Ahh:P不知道那個,我主要是PHP比jQuery,我不使用它更多 – 2012-02-28 17:47:24

+0

@EvilP - 如果是這樣,其他答案也是錯誤的,因爲他們都沒有使用()爲代表團,但只是定期點擊equalent。讓投票開始吧! – adeneo 2012-02-28 17:47:34

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 
}); 
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 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