$(this)与this的区别

简介: 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢?        首先来看看JQuery中的  $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。

相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢?

       首先来看看JQuery中的  $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。那么,当你在网页中alert($('#id'));时,会弹出一个[object Object ],这个object对象,也就是jquery对象了。

       那么,我们再回过头来说$(this),这个this是什么呢?假设我们有如下的代码:

$("#desktop a img").each(function(index){

          alert($(this));

          alert(this);

}

那么,这时候可以看出来:

alert($(this));  弹出的结果是[object Object ]

alert(this);        弹出来的是[object HTMLImageElement]

也就是说,后者返回的是一个html对象(本例中是遍历HTML的img对象,所以为 HTMLImageElement)。很多人在使用jquery的时候,经常this.attr('src');   这时会报错“对象不支持此属性或方法”,这又是为什么呢?其实看明白上面的例子,就知道错在哪里了:

很简单,this操作的是HTML对象,那么,HTML对象中怎么会有val()方法了,所以,在使用中,我们不能直接用this来直接调用jquery的方法或者属性。

 

相关文章
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
SQL 缓存 安全
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
15312 2
|
Java 测试技术 数据库连接
Spring常见知识总结
Spring常见知识总结
279 2
|
Python
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
172 0
|
弹性计算 运维 监控
带你读《弹性计算技术指导及场景应用》——3. vGPU驱动自动安装和升级
带你读《弹性计算技术指导及场景应用》——3. vGPU驱动自动安装和升级
338 0
|
分布式计算 大数据 调度
阿里云 MaxCompute 2020-1 月刊
您好,MaxCompute 2020.1月刊如期而至,在疫情肆虐的日子里,祝福每一位开发者,平安健康,一切顺利。
8832 0
阿里云 MaxCompute 2020-1 月刊
|
缓存 Java 应用服务中间件
彻底理解JVM常考题之分级引用模型
本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。
1110 0
|
机器学习/深度学习 新零售 自然语言处理
阿里AAAI2018论文解读:轻量网络训练框架、GAN中文命名实体识别、英俄翻译等
第32届 AAAI(AAAI-2018)将于2月7日-9日在美国新奥尔良举行。阿里巴巴今年一共有十多篇论文被大会接收。今天由阿里巴巴的研究员们为大家介绍6篇,包括:火箭发射:一种有效的轻量网络训练框架、基于对抗学习的众包标注用于中文命名实体识别、句法敏感的实体表示用于神经网络关系抽取、一种基于词尾预测的提高英俄翻译质量的方法、一种利用用户搜索日志进行多任务学习的商品标题压缩方法和 τ-FPL: 线性时间的约束容忍分类学习算法。
4877 0

热门文章

最新文章