Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(此)参考_Javascript_Jquery - Fatal编程技术网

Javascript $(此)参考

Javascript $(此)参考,javascript,jquery,Javascript,Jquery,如果我在第二行后面使用$(this),它将指向单选按钮。如何从该行引用td元素?我正在尝试向td元素添加id,但它会将其添加到单选按钮。在单选按钮处理程序之前保存对此的引用: $('td').click(function(){ $('input:radio').click(function(){ }) }) 我不确定这是您真正想要做的,但是,因为您所做的是为单击td上的单选按钮分配一个单击处理程序。这就是您的想法吗?在单选按钮处理程序之前保存对此的引用: $('

如果我在第二行后面使用$(this),它将指向单选按钮。如何从该行引用td元素?我正在尝试向td元素添加id,但它会将其添加到单选按钮。

在单选按钮处理程序之前保存对此的引用:

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

我不确定这是您真正想要做的,但是,因为您所做的是为单击td上的单选按钮分配一个单击处理程序。这就是您的想法吗?

在单选按钮处理程序之前保存对此的引用:

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

我不确定这是您真正想要做的,但是,因为您所做的是为单击td上的单选按钮分配一个单击处理程序。这就是你的想法吗?

有两种方法:

$('td').click(function () {
    var self = this;
    $('input:radio').click(function () {
        // self refers to 'this' from the td selection here
    });
});
如其他人所示,您可以使用闭包:

$('td').click(function(){    
    var tdElement = $(this);
    $('input:radio').click(function(){    
        // Do whatever you like with tdElement here
    })
})

有两种方法可以做到这一点:

如其他人所示,您可以使用闭包:

$('td').click(function(){    
    var tdElement = $(this);
    $('input:radio').click(function(){    
        // Do whatever you like with tdElement here
    })
})

这是注册clickIt称为闭包的错误方法,变量在$('td')中声明。click函数在$('input:radio')中可用。click函数。如果您需要在$('input:radio')中使用JQuery对象,请单击函数,最好将self设置为$(此选项),这样您就不必多次将td转换为JQuery对象。因此,您将self-like设置为:$self=$(这)不需要$for$self,但最好将JQuery变量存储在以$开头的名称中。我认为这个问题很清楚,即使代码所做的事情很奇怪。我不认为这是一个否决它的正当理由。@HMR-你对结束给出了一个很好的快速定义,并提出了一些其他的好观点。你应该把你的评论写在答案里。我会投赞成票的。这是注册click的错误方法。它被称为闭包,变量以$('td')声明。click函数在$('input:radio')中可用。click函数。如果您需要在$('input:radio')中使用JQuery对象,请单击函数,最好将self设置为$(此选项),这样您就不必多次将td转换为JQuery对象。因此,您将self-like设置为:$self=$(这)不需要$for$self,但最好将JQuery变量存储在以$开头的名称中。我认为这个问题很清楚,即使代码所做的事情很奇怪。我不认为这是一个否决它的正当理由。@HMR-你对结束给出了一个很好的快速定义,并提出了一些其他的好观点。你应该把你的评论写在答案里。我会投赞成票的。