2012-03-06 3 views
0

私はJavaScriptとJQueryを使い慣れていません。私はJSPで小さなプロジェクトに取り組んでいます。JQueryでクラスを選択している間に個々の属性を取得する

私はJSPで動的にグリッドを作成し、クラスが「選択」されているいくつかのボタンを追加し、alt属性で現在の行インデックスを設定しました。それは完全に動作し、私は動的にonclickを設定しようとしています。これは私のコードです

$('.select').click(function(){ 
    alert($('.select').attr('alt')); 
} 

それぞれのボタンに独自のインデックスを表示したいのですが、そのコードは各ボタンの最初のインデックスを表示します。私はそれを行う方法を探しましたが、何も出ていません。

私がしたいことをする機会はありますか?

答えて

3

変化として、この行:jQueryのイベントハンドラを呼び出すと

alert($(this).attr('alt')); 
+0

ありがとうございました。 –

3

が、それは問題のDOM要素で、そうしようとするthisを設定し、この:あなたはDOMにアクセスする必要がある場合

$('.select').click(function(){ 
    alert($(this).attr('alt')); 
}); 

要素のプロパティを次に直接取得することができます。例:

alert(this.id); 
this.value = "test"; 

例えば、あなたが最初にjQueryの関数に渡す必要がある要素にjQueryのメソッドを使用する必要があります。

alert($(this).attr('alt')); 

によって

$(this).hide(); 
$(this).css("color","red").slideDown(); 
+0

これは動作します! DOMに関する情報をお寄せいただきありがとうございます –

2
$('.select').click(function(){ 
    alert($(this).attr('alt')); 
}); 

変更

alert($('.select').attr('alt')); 

あなたが選択ボタンのattr altはイベントを起こします。

+1

どの$( '。select')を置き換えるべきかを指定することで、より明確に答えを出すことができます。 –

+0

はい、それは本当です、私は私の答えを編集する –

0

ない。これは、すべてのボタン「ショー」は、1つのボタンをクリックすると、そのalt属性内に格納された値があるでしょう

$('.select').click(function() { 
    $('.select').each(function() { 
     $(this).attr('value', $(this).attr('alt')); 
    }); 
}); 

それはあなたが探しているものだ場合は...確認してください。

ところで、1行に1つのボタンを使用している場合は、おそらくindex()をお勧めします。

関連する問題