浅谈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 30 Javascript
js获取height和width的方法说明
Jan 06 Javascript
JS禁用浏览器退格键实现思路及代码
Oct 29 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
JS中substring与substr的用法
Nov 16 Javascript
概述如何实现一个简单的浏览器端js模块加载器
Dec 07 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
Jan 21 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
关于Vue单页面骨架屏实践记录
Dec 13 Javascript
vue 组件中添加样式不生效的解决方法
Jul 06 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页面局部刷新功能的实现小结
2013/06/21 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
财务主管的岗位职责
2013/12/30 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
2014年端午节活动方案
2014/03/11 职场文书
留学顾问岗位职责
2014/04/14 职场文书
审美与表现自我评价
2015/03/09 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
创业计划书之家教中心
2019/09/25 职场文书
Python如何使用循环结构和分支结构
2022/04/13 Python
Android中的Launch Mode详情
2022/06/05 Java/Android