浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法


Posted in Javascript onNovember 29, 2016

1.JQuery this和$(this)的区别

相信很多刚接触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的方法或者属性。

2.获取$(this)子节点对象的方法:find(element)

明白了$(this)和this的区别,再来看看这个例子:(假设,我的页面中a标签包含img,并含有src属性),当我在遍历的时候,想取到$(this)下img中src的地址

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

  var imgurl=$(this).find('img').attr('src');

  alert(imgurl);

 }

其中 .find(element) 是返回一个用于匹配元素的DOM元素,这样就可以取到想要的src地址了。

以上这篇浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript性能陷阱小结(附实例说明)
Dec 28 Javascript
jQuery侧边栏随窗口滚动实现方法
Mar 04 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
freemarker判断对象是否为空的方法
Aug 13 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
Jul 17 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
webpack vue项目开发环境局域网访问方法
Mar 20 Javascript
JavaScript实现多态和继承的封装操作示例
Aug 20 Javascript
js实现移动端图片滑块验证功能
Sep 29 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 #Javascript
JavaScript中return用法示例
Nov 29 #Javascript
使用JS正则表达式 替换括号,尖括号等
Nov 29 #Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
Nov 29 #Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 #Javascript
JS 拦截全局ajax请求实例解析
Nov 29 #Javascript
JS正则替换掉小括号及内容的方法
Nov 29 #Javascript
You might like
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
php foreach、while性能比较
2009/10/15 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
js jquery数组介绍
2012/07/15 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
python复制文件代码实现
2013/12/23 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python实现ping的方法
2015/07/06 Python
使用python实现个性化词云的方法
2017/06/16 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
电子专业推荐信范文
2013/11/18 职场文书
冰淇淋开店创业计划书
2014/02/01 职场文书
校运会入场式解说词
2014/02/10 职场文书
美容院店长岗位职责
2014/04/08 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
mysql创建存储过程及函数详解
2021/12/04 MySQL