浅谈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 相关文章推荐
鼠标滑上去后图片放大浮出效果的js代码
May 28 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
Aug 07 Javascript
js仿百度切换皮肤功能(html+css)
Jul 10 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
JS自定义滚动条效果简单实现代码
Oct 27 Javascript
js自定义input文件上传样式
Oct 26 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 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
ie6 动态缩略图不显示的原因
2009/06/21 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
python之生产者消费者模型实现详解
2019/07/27 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
大学生工作推荐信范文
2013/12/02 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android