浅谈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 相关文章推荐
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 Javascript
js识别uc浏览器的代码
Nov 06 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
ionic实现带字的toggle滑动组件
Aug 27 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 Javascript
代码解析React中setState同步和异步问题
Jun 03 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
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python守护线程用法实例
2017/06/23 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
联谊活动策划书
2014/01/26 职场文书
顶撞老师检讨书
2014/02/07 职场文书
综合实践活动总结
2014/05/05 职场文书
白酒代理协议书范本
2014/10/26 职场文书
教师学期末个人总结
2015/02/13 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
办公室日常管理制度
2015/08/04 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript