2012-02-28 7 views
0

私は3つのdivのを持っている...最後にクリックしたのIDを取得する - 私は、ランダムなdiv要素をクリックするとjQueryの

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

、それは(のは、ID#2を使用してみましょうトップにdiv要素の順序を移動します例えば)。だから、この時点の後にdivの日付順がずれてしまう可能性があります。以下の例...

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

この場合、最後に表示されたdiv IDを取得する方法はありますか?

+0

*最後の*とそのIDが必要なときの意味に応じて、1番目または2番目のdivのIDです。 –

+1

あなたが今何をクリックしているのでしょうか、それともあなたがクリックする前に最後にクリックしたものですか? – adeneo

+0

私が以前にクリックしたdivのIDを取得する必要があります。現在ではなく、前のdivの注文ではありません – Joe

答えて

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を宣言すると、グローバルにアクセスできるため、後で他の関数で使用することができます。

+0

私はそれが私のために働くように2番目のvarを削除する必要がありました。それ以外はB..E..A..UTIFULを働いた。ありがとう男 – Joe

+0

申し訳ありません - 私が削除する私の部分に誤字: – Archer

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

クリックした最後のものは一番上になるので、使用する:第1のセレクタ:

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

をLastIdという名前のVARを確認し、クリック機能の外に、このVARを作ります。クリックファンクションの内部ではそのIDで更新されます。そう

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

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

希望のようにこのことができます:D

+0

あなたは今divが動的に追加された場合はありません!だからあなたは使用する必要があります。 –

+0

Ahh:P Didntはそのことを知っています。私は主にjqueryよりもphpをよく使っていません。 –

+0

@EvilP - もしそうなら、他のすべての答えも間違っています。委任は、通常のクリック等価だけです。下降を開始させてください! – adeneo

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のクリックで

を:

<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 
関連する問題