0
$('td').click(function(){    
    $('input:radio').click(function(){    
    })
})

2行目以降に$(this)を使用すると、ラジオボタンが参照されます。その行からtd要素を参照するにはどうすればよいですか?td要素にIDを追加しようとしていますが、これがラジオボタンに追加されます。

4

3 に答える 3

4

ラジオボタンハンドラの前に、これへの参照を保存します。

$('td').click(function () {
    var self = this;
    $('input:radio').click(function () {
        // self refers to 'this' from the td selection here
    });
});

これが本当にやりたいことかどうかはわかりませんが、あなたがしているのは、tdのクリックでラジオボタンのクリックにクリックハンドラーを割り当てることです。それはあなたが考えていたものですか?

于 2013-03-06T04:10:24.553 に答える
1

それには 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));
});
于 2013-03-06T04:22:14.667 に答える
0
$('td').click(function(){    
    var tdElement = $(this);
    $('input:radio').click(function(){    
        // Do whatever you like with tdElement here
    })
})
于 2013-03-06T04:11:23.497 に答える