Javascript Jquery脚本中“this”一词的含义是什么

Javascript Jquery脚本中“this”一词的含义是什么,javascript,jquery,Javascript,Jquery,您好,我是JavaScript和JQuery语言的新手。我开始看到JQuery脚本的一些示例 我有以下代码段: <script type="text/javascript"> $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); </script> 它引用选择器$p中被单击的每个p标记。例如,您可以看到单击的每个p标记的ht

您好,我是JavaScript和JQuery语言的新手。我开始看到JQuery脚本的一些示例

我有以下代码段:

 <script type="text/javascript">

   $(document).ready(function(){

   $("p").click(function(){

   $(this).hide();

    });

  });

</script>
它引用选择器$p中被单击的每个p标记。例如,您可以看到单击的每个p标记的html,如下所示:

$("p").click(function(){
   alert($(this).html());
});
还要注意,$this和上面上下文中的this的含义不同。后者指的是DOM元素本身,它没有可用的jQuery方法/属性,例如:

$("p").click(function(){
   alert(this.html());
});

不会工作,因为html不可用,因为它引用了其中的DOM元素。因此,如果您想使用jQuery方法,请改用$this。

在jQuery的这些片段中,大多数时候这是指HtmleElement对象。这里是HTMLParagraphElement或P标记对象。 $this是指从当前HtmleElement对象创建的jQuery对象

但是请记住,在JavaScript中,这一含义会根据调用函数的位置而变化

$'p'将向数组中添加一个或多个用jQuery magic包装的段落元素 .click是一个jQuery函数,将对数组中找到的每个段落元素调用该函数 函数{…}是点击事件的定义,点击段落时可以在其中执行任何javascript选项 这是一个全局变量,它引用调用DOM对象,我认为默认情况下它是window,但在本例中它将是每个段落HTML元素。 因为要在段落元素上调用jQuery函数hide,所以必须用所有jQuery函数包装基本HTML/DOM对象,这就是$this的作用;它接受这一点,并将所有jQuery内容添加到其中,将其转换为jQuery对象,以便您可以调用所有jQuery函数。换言之:

这是基本对象 $this几乎相同,但它是一个jQuery对象,它继承了作用域中的对象,因此您可以调用所需的所有jQuery
查看相关部分。@LightnessRacesinOrbit,我不确定你指的是什么,尽管这不是很好。这里接受的答案可能会给你一些启示:我猜-1是因为,这是指正在使用的元素。不是getElementById getElementById==$'element'| |$'element.attr'id.@MichelAyres在添加该语句之前我得到了负数。我添加了它以澄清对象名称。它的alwasy HtmleElement、HTMLParagraphElement只是继承父HtmleElement。getElementById=$我知道这一点$这个和这个是不同的。我也在那里解释过。我认为在@rsbarro的评论中链接的答案中添加see是很重要的,如果你使用裸this,你有一个简单的html元素,但是当你用$this包装它时,你会得到一个jQuery对象。包装好后,您可以调用常用的jQuery方法。很糟糕,您否决了其他答案,以保持您的答案在顶部。@Shiplu:我没有否决任何答案。我自己也投了反对票。顺便说一句,不要那样责备任何人。我现在应该投你反对票来证明我没有吗?既然你这么说了,我相信你就是那个投票否决我的人:对不起@Sarfraz.two-1等于-2。这就是为什么我认为是你干的。真是太棒了confusing@Sarfraz:哈哈。投票系统中有明显的缺陷,但我最初的想法和希普鲁一样——我给他留下了一条评论,认为他是你的支持者之一,但后来我删除了它。萨弗雷兹没有解释就被否决了。其他两个答案他都投了反对票。我看他的个人资料,他得了-2分。在没有证据的情况下责怪任何人是非常非常糟糕的。万一你们认为是我干的。你们两个能允许我投票否决你们两个,以证明我没有投票否决吗?此外,希普鲁先生对我的评论投了反对票,这是非常糟糕的……对不起,我不赞成投反对票。我现在意识到我没有正确阅读你的答案。我读到这是一个窗口,没有进一步阅读就被否决了。我的投票被锁定了。这是可以理解的,我比什么都好奇。我不介意错,我只是喜欢在我错的时候纠正我的答案
$("p").click(function(){
   alert(this.html());
});