jQuery对象与DOM对象转换方法详解


Posted in Javascript onMay 10, 2016

本文实例分析了jQuery对象与DOM对象的转换方法。分享给大家供大家参考,具体如下:

jQuery对象转换为dom对象

只有jQuery对象才能调用jQuery类库的各种函数,同样有些dom对象的属性和方法在jQuery上也是无法调用的,不过基本上jQuery类库提供的函数包含了所有的dom操作。有时尤其是在初学jQuery,无法记住jQuery的所有函数时,会有很长一段时间使用jQuery选择器配合原始的dom函数进行开发。所以两种对象的转化是很有必要的。

jQuery对象的索引保存的是dom对象,所以可以通过索引将经jQuery对象转化为dom对象(实际上是获取保存在jQuery对象中的dom对象)。

$("#myphoto")[0];

通过索引返回dom对象后,就可以使用各种dom对象的方法和属性,比如获取dom对象的src属性:

alert($("#myphoto")[0].src);

如果想要遍历jQuery对象中的每个元素,通常使用each()函数。

echo(callback);

Callback()是一个回调函数,此函数中的this也指向dom元素。

$("#myphoto").each(function(i){
     this,src="test"+i+".jpg";
});

对于懒人有一个小窍门,如果不想记忆在不同的jQuery函数中的this到底是jQuery对象还是this对象,可以使用"this"方法都转化成jQuery对象,因为即使一个对象已经是jQuery对象也不会出错。

Dom对象转化为jQuery对象

如果已经获得了一个dom对象,可以使用"jQuery(elements)"函数将其转化为jQuery对象:

var img=document.getElementById("myphoto");
jQuery(img).css("border","solid 2px #FF0000");

上面代码中img是使用dom获取到的dom对象。将其转化为jQuery对象后就可以使用jQuery对象的css()方法更改其样式。

可以使用"$"代替"jQuery",因为在jQuery的内部有如下实现:

jQuery=window.jQuery=window.$

"$"字符在JavaScript中可用做变量名,并且可以作为前缀出现。但是一些其他的类库或者是程序可能已经使用了"$"作为变量名。

jQuery(img).css("border","solid 2px #FF0000");
$(img). css("border","solid 2px #FF0000");

以上两条语句是等同的。

"jQuery(elements)"函数的elemients参数还可以是jQuery对象,虽然讲一个jQuery对象在次转化没有意义,这是为了当不确定一个对象的类型是jQuery对象还是dom对象时,可以再次调用此函数进行转化,这样可以保证此对象一定是jQuery对象。

希望本文所述对大家jquery程序设计有所帮助。

Javascript 相关文章推荐
javascript面向对象之this关键词用法分析
Jan 13 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
JS仿淘宝实现的简单滑动门效果代码
Oct 14 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
vue-router项目实战总结篇
Feb 11 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
vscode中eslint插件的配置(prettier配置无效)
Sep 10 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
详解javascript void(0)
Jul 13 Javascript
JS如何判断对象是否包含某个属性
Aug 29 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
jQuery对象的链式操作用法分析
May 10 #Javascript
JS组件Bootstrap按钮组与下拉按钮详解
May 10 #Javascript
Bootstrap按钮下拉菜单组件详解
May 10 #Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 #Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 #Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
May 09 #Javascript
Bootstrap模仿起筷首页效果
May 09 #Javascript
You might like
简化php模板页面中分页代码的解析
2009/02/06 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
javascript中的继承实例代码
2011/04/27 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
浅谈python中的变量默认是什么类型
2016/09/11 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
Python中类的初始化特殊方法
2017/12/01 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
Python对象转换为json的方法步骤
2019/04/25 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
大学生职业生涯设计书
2014/01/02 职场文书
大学生先进事迹材料
2014/02/16 职场文书
家电业务员岗位职责
2014/03/10 职场文书
学校节能减排倡议书
2014/05/16 职场文书
党校个人总结
2015/03/04 职场文书
起诉状范本
2015/05/20 职场文书
生活小常识广播稿
2015/08/19 职场文书
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python