浅谈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 错误处理的几种方法
Jun 13 Javascript
xheditor与validate插件冲突的解决方案
Apr 15 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
Jan 27 Javascript
javascript数组拍平方法总结
Jan 20 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
vue-for循环嵌套操作示例
Jan 28 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
Feb 21 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
Nov 01 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 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数组去重的更快实现方式分析
2018/05/09 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
js表数据排序 sort table data
2009/02/18 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
浅谈Django REST Framework限速
2017/12/12 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
python redis 删除key脚本的实例
2019/02/19 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python生成requirements.txt的两种方法
2019/09/18 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
《长征》教学反思
2014/04/27 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python
Windows server 2012搭建FTP服务器
2022/04/29 Servers