$('td').click(function(){
$('input:radio').click(function(){
})
})
2行目以降に$(this)を使用すると、ラジオボタンが参照されます。その行からtd要素を参照するにはどうすればよいですか?td要素にIDを追加しようとしていますが、これがラジオボタンに追加されます。
$('td').click(function(){
$('input:radio').click(function(){
})
})
2行目以降に$(this)を使用すると、ラジオボタンが参照されます。その行からtd要素を参照するにはどうすればよいですか?td要素にIDを追加しようとしていますが、これがラジオボタンに追加されます。
ラジオボタンハンドラの前に、これへの参照を保存します。
$('td').click(function () {
var self = this;
$('input:radio').click(function () {
// self refers to 'this' from the td selection here
});
});
これが本当にやりたいことかどうかはわかりませんが、あなたがしているのは、tdのクリックでラジオボタンのクリックにクリックハンドラーを割り当てることです。それはあなたが考えていたものですか?
それには 2 つの方法があります。
他の人が示したように、クロージャーを使用できます。
$('td').click(function() {
var td = this; // Creates a closure
$('input:radio').click(function(event) {
// this and event.target refer to the radio button
// td refers to the <td> element
});
});
または、次を使用できます$.prox()
。
$('td').click(function() {
$('input:radio').click($.proxy(function(event) {
// this refers to the td
// event.target refers to the radio button
}, this));
});
$('td').click(function(){
var tdElement = $(this);
$('input:radio').click(function(){
// Do whatever you like with tdElement here
})
})