$('td').click(function(){
$('input:radio').click(function(){
})
})
如果我在第二行之后使用 $(this) ,它将引用单选按钮。如何从该行引用 td 元素?我正在尝试将 id 添加到 td 元素,但它会将其添加到单选按钮。
$('td').click(function(){
$('input:radio').click(function(){
})
})
如果我在第二行之后使用 $(this) ,它将引用单选按钮。如何从该行引用 td 元素?我正在尝试将 id 添加到 td 元素,但它会将其添加到单选按钮。
在单选按钮处理程序之前保存对此的引用:
$('td').click(function () {
var self = this;
$('input:radio').click(function () {
// self refers to 'this' from the td selection here
});
});
但是,我不确定这是您真正想要做的,因为您正在做的是为单击 td 上的单选按钮分配单击处理程序。你是这么想的吗?
有两种方法可以做到:
正如其他人所展示的,您可以使用闭包:
$('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
})
})