クリックしたクラスの例すべてではなく、最後の値のみをアラートしたい
$(document).ready(function(){
$(".a").click(function(){
var a = $(this).children(".b").val();
$("#b").click(function(){
alert(a);
});
});
}); </ p>
クリックイベントを積み重ねています。
.unbind()
に追加された以前のクリックイベントを削除するために使用します$("#b")
への変更:
$(document).ready(function(){
$(".a").click(function(){
var a = $(this).children(".b").val();
$("#b").unbind("click");
$("#b").click(function(){
alert(a);
});
});
});
ハンドラの外部で変数を定義して更新できます。
$(document).ready(function() {
var cur = 0;
$(".a").click(function() {
cur = $('.b', this).val();
});
$("#b").click(function() {
alert(cur);
});
});
これを試して
$(document).ready(function(){
var a = "" ;
$(".a").click(function(){
a= $(this).children(".b").val();
});
$("#b").click(function(){
alert(a);
});
});
:eq セレクターを使用して、要素のリストから特定の子を選択します。たとえば$('.a:eq(2)')
、3 番目の要素を選択します。