浅谈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实现选项卡的特别效果的实例
Mar 03 Javascript
JavaScript组合拼接字符串的效率对比测试
Nov 06 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 Javascript
javascript电商网站抢购倒计时效果实现
Nov 19 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
Sep 29 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
js实现图片360度旋转
Jan 22 Javascript
vue组件如何被其他项目引用
Apr 13 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 Javascript
Vue中component标签解决项目组件化操作
Sep 04 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文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
js function使用心得
2010/05/10 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
Python中的异常处理简明介绍
2015/04/13 Python
python中zip()方法应用实例分析
2016/04/16 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python日志处理模块logging用法解析
2020/05/19 Python
python中有函数重载吗
2020/05/28 Python
python为什么会环境变量设置不成功
2020/06/23 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
精彩自我鉴定
2014/01/16 职场文书
退休感言
2014/01/28 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书