浅谈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 相关文章推荐
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
js 数据类型转换总结笔记
Jan 17 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
Apr 24 Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
Javascript实现异步编程的过程
Jun 18 Javascript
微信小程序实现菜单左右联动
May 19 Javascript
ES6对象操作实例详解
May 23 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP调用其他文件中的类
2018/04/02 PHP
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
微信小程序文章详情功能完整实例
2020/06/03 Javascript
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python适合人工智能的理由和优势
2019/06/28 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
培训演讲稿范文
2014/01/12 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
活动总结书
2014/05/08 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
实习证明格式范文
2014/10/14 职场文书
优秀校长事迹材料
2014/12/24 职场文书
刘公岛导游词
2015/02/05 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers