2011-08-04 18 views
2

私はシナリオを持っています。そこにはテーブルがあり、いくつかの列にはいくつかの非表示のdivがあります。今、これらの列の1つでは、別の隠しdivを含むDivを持っています。今では、特定の行内または特定の列内のすべてのdivを表示する汎用関数を適用することはできません。私はクリックされている要素のidまたはクラスを検出する関数を持っていたいと思います。これについてどうやって行くの?クリックしているjQueryの要素のIDを取得する方法

+1

あなたは私たちにいくつかのサンプルコードを表示することができますか?たぶんjsfiddleでコード化してください。 – Alex

+0

それはクリックされています...それは見えるはずですか?どのように隠れたdivをクリックできますか? –

答えて

2

のonclick、これを行う要素のイベント:

<div id="div1" onclick="getId();"> </div>; 

function getId(){ 
    var currentId = $(this).attr('id'); 
} 
+1

私はこのアプローチを気に入っています。私はそのIDを使って関数にアクセスすればいいのですが、そのdivのIDを変更すると、jsファイルに変更を加える必要があります。しかし、この場合、要素とその機能は一体となっており、保守が容易です。 – Shades88

+1

@ShantanuDありがとう –

0
$('div').bind('click', function(){ // Make this part as specific as it can be 
    console.log($(this).attr('id')); 
}); 

ページ上のすべてのdivを選択し、それらにイベントハンドラを割り当てること、このような良いアイデアではありませんので、あなたは、あなたの最初のセレクタが少しより制限することができます。

2

このようにしますか?

$(<selector>).click(function() { 
    id = $(this).attr('id'); 
}); 
0

これは、クリックされた要素のIDを記録します。表示されるように追加のロジックを追加して、「表示」機能を処理できます。

$('div').click(function(){ 
    console.log($(this).attr('id'); 
    //other logic here 
}); 
0
$(".class").click(function(){ 
    var clicked = $(this).attr('id'); 
}); 

2

を助けることができるあなたはこのようにそれを行います。

$("div").click(function(){ 

alert($(this).attr("id")); 

}); 
関連する問題