jquery对象和javascript对象即DOM对象相互转换


Posted in Javascript onAugust 07, 2014

jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象。jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法;例如: $("#img").attr("src","test.jpg"); 这里的 $("#img")就是 jQuery 对象。

DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法,但是不能使用 jQuery 里的方法。例如:document.getElementById("img").src = “test.jpg";这里的document.getElementById("img") 就是DOM 对象。

$("#img").attr("src","test.jpg"); 和 document.getElementById("img").src = "test.jpg"; 是等价的,是正确的,但是 $("#img").src = "test.jpg" ;或者 document.getElementById("img").attr("src","test.jpg"); 都是错误的。

再说一个例子,就是this, 在写 jQuery 时经常这样写: this.attr("src","test.jpg");可是就是出错,其实this 是DOM对象,而.attr("src","test.jpg") 是 jQuery 方法,所以出错了。要解决这个问题就要将 DOM对象转换成 jQuery 对象,例如 $(this).attr("src","test.jpg");

1. DOM 对象转成 jQuery 对象

对于已经是一个 DOM 对象,只需要用 $() 把DOM对象包装起来,就可以获得一个 jQuery 对象了,$(DOM 对象) 注: var是定义变量

如: 

var v = document.getElementById("v"); //DOM对象
var $v = $(v); //jQuery 对象

转换后,就可以任意使用 jQuery 的方法。

2. jQuery 对象转成 DOM 对象

两种转换方式讲一个 jQuery 对象转换成 DOM 对象: [index] 和 .get(index);

(1) jQuery 对象是一个数据对象,可以通过 [index] 的方法,来得到相应的 DOM 对象。

如:

var $v = $("#v"); //jQuery 对象
var v = $v[0]; //DOM 对象
alert(v.checked); //检测这个checkbox是否被选中

(2) jQuery 本身提供,通过.get(index) 方法得到相应的 DOM 对象

如:

var $v = $("#v"); //jQuery 对象
var v = $v.get(0); //DOM对象 ( $v.get()[0] 也可以 )
alert(v.checked); //检测这个 checkbox 是否被选中

通过以上方法,可以任意的相互转换 jQuery 对象和 DOM 对象,需要再强调的是: DOM 对象才能使用DOM 中的方法,jQuery 对象是不可以使用DOM中的方法。

Javascript 相关文章推荐
JavaScript中的History历史对象
Jan 16 Javascript
关于URL中的特殊符号使用介绍
Nov 03 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
Jul 05 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 Javascript
基于Vue实例生命周期(全面解析)
Aug 16 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
Node实战之不同环境下配置文件使用教程
Jan 02 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 #Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 #Javascript
javascript中为某个元素指定事件的三种方式
Aug 07 #Javascript
谷歌地图打不开的解决办法
Aug 07 #Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 #Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 #Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 #Javascript
You might like
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
pyqt和pyside开发图形化界面
2014/01/22 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
Python使用django搭建web开发环境
2017/06/09 Python
python生成excel的实例代码
2017/11/08 Python
Python多进程原理与用法分析
2018/08/21 Python
用Python解决x的n次方问题
2019/02/08 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
考生诚信考试承诺书
2014/05/23 职场文书
证婚人致辞精选
2015/07/28 职场文书