浅谈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继承 笔记
Jul 13 Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
jQuery 移动端artEditor富文本编辑器
Jan 11 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 Javascript
在网页中插入百度地图的步骤详解
Dec 02 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
使用ECharts实现状态区间图
Oct 25 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 友好URL的实现(吐血推荐)
2008/10/04 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
phpinfo的知识点总结
2019/10/10 PHP
PHP 实现链式操作
2021/03/09 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
Python深入学习之装饰器
2014/08/31 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python3 字符串知识点学习笔记
2020/02/08 Python
调解员先进事迹材料
2014/02/07 职场文书
公司租房协议书范本
2014/10/08 职场文书
工程安全生产协议书
2014/11/21 职场文书
个人委托函范文
2015/01/29 职场文书
检讨书格式
2015/05/07 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
警用民用对讲机找不同
2022/02/18 无线电