此引用在JavaScript中

此引用在JavaScript中,javascript,jquery,Javascript,Jquery,今天我在写一些java脚本的基本内容,我遇到了这个问题。虽然我能够解决问题,但找不到这不起作用的原因。这是我的密码 $('document').ready(function() { $(this).click(function() { var node1 = $(this); a = node1.text(); console.log(a); }); }); 在这个控制台中,我看到了空字符串。但是如果我更改$(this

今天我在写一些java脚本的基本内容,我遇到了这个问题。虽然我能够解决问题,但找不到这不起作用的原因。这是我的密码

$('document').ready(function() {
     $(this).click(function() {
         var node1 = $(this);
         a = node1.text();
         console.log(a);
     });
 });
在这个控制台中,我看到了空字符串。但是如果我更改
$(this)。单击(函数{…})
$('.some_class_name')。单击(函数{…})比我的代码运行良好,并显示我单击的按钮的文本值。

我想知道上面的代码有什么错误。

您必须查找此代码,使用
e.target
获取文档中已单击元素的内部文本

 $('document').ready(function () {
    $(this).click(function (e) {
        var node1 = $(e.target);
        var a = node1.text();
        console.log(a);
    });
 });

您必须要查找此项,请使用
e.target
获取文档中已单击元素的内部文本

 $('document').ready(function () {
    $(this).click(function (e) {
        var node1 = $(e.target);
        var a = node1.text();
        console.log(a);
    });
 });
试试这个代码 只需将this关键字更改为body


$('document').ready(函数(){
$('body')。单击(函数(){
var node1=$(此值);
a=node1.text();
控制台日志(a);
});
});
试验
试试这段代码 只需将this关键字更改为body


$('document').ready(函数(){
$('body')。单击(函数(){
var node1=$(此值);
a=node1.text();
控制台日志(a);
});
});
试验

您正在将单击事件绑定到
文档
。!是什么让你认为
这个
会神奇地引用你正在考虑的某个随机选择器?@RajaprabhuAravindasamy如果你绑定文档,它也会得到文本你正在将点击事件绑定到
文档
。!是什么让你认为
这个
会神奇地引用你正在考虑的某个随机选择器?@RajaprabhuAravindasamy如果你绑定文档,它也会得到文本你正在污染全局范围。@dfsq我不明白。?这是如何污染全局范围的?@dfsq这是什么('document')@dfsq OP正在污染全局范围供参考。无
var
当声明
a
时,应为以下之一:
var a=node1.text()
or
var node1=$(e.target),a=node1.text()
@zamnuts ya,现在只有我看到了,我改变了你正在污染全球范围。@dfsq我不明白。?这是如何污染全局范围的?@dfsq这是什么('document')@dfsq OP正在污染全局范围供参考。无
var
当声明
a
时,应为以下之一:
var a=node1.text()
var node1=$(e.target),a=node1.text()@Zamya,现在只有我看到了,我改变了