浅谈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 animate 动画效果使用说明
Nov 04 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
Nov 16 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
Jquery实现$.fn.extend和$.extend函数
Apr 14 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
Nov 24 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
Node.js+Express+Mysql 实现增删改查
Apr 03 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
Jun 03 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 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编程最快明白》第三讲:php数组
2010/11/01 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
python实现二维数组的对角线遍历
2019/03/02 Python
python线程join方法原理解析
2020/02/11 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
python中os包的用法
2020/06/01 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
小学生迎国庆演讲稿
2014/09/05 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
三八节活动主持词
2015/07/04 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
2016继续教育研修日志
2015/11/13 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL