jQuery对象和DOM对象使用说明


Posted in Javascript onJune 25, 2010

1.jQuery对象和DOM对象
第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.
DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;

var domObj = document.getElementById("id"); //DOM对象 
var $obj = $("#id"); //jQuery对象;

jQuery对象就是通过jQuery包装DOM对象后产生的对象,它是jQuery独有的。如果一个对象是jQuery对象,那么就可以使用jQuery里的方法,例:
$("#foo").html(); //获取id为foo的元素内的html代码,html()是jQuery特有的方法;
上面的那段代码等同于:
document.getElementById("foo").innerHTML;

注意:在jQuery对象中无法使用DOM对象的任何方法。
例如$("#id").innerHTML和$("#id").checked之类的写法都是错误的,可以用$("#id").html()和$("#id").attr ("checked")之类的 jQuery方法来代替。同样,DOM对象也不能使用jQuery方法。学习jQuery开始就应当树立正确的观念,分清jQuery对象和DOM对象之间的区别,之后学习 jQuery就会轻松很多的。

2.jQuery对象和DOM对象的互相转换

在上面第一点说了,jquery对象和dom对象是不一样的!比如jquery对象不能使用dom的方法,dom对象不能使用jquery方法,那假如我jquery没有封装我要的方法,那能怎么办呢?
这时我们可以将jquer对象转换成dom对象

jquery对象转换成dom对象
jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象.
下面代码将演示一个jquery对象转换成dom对象,再使用dom对象的方法

var $cr=$("#cr"); //jquery对象 
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0); 
alert(cr.checked); //检测这个checkbox是否给选中

dom对象转换成jquery对象
对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);
var cr=document.getElementById("cr"); //dom对象 
var $cr = $(cr); //转换成jquery对象

转换后可以任意使用jquery中的方法了.

通过以上的方法,可以任意的相互转换jquery对象和dom对象.
最后再次强调,dom对象才能使用dom中的方法,jquery对象不可以使用dom中的方法,但jquery对象提供了一套更加完善的工具用于操作dom,关于jquery的dom操作将在后面的文章进行详细讲解.

ps:平时用到的jquery对象都是通过$()函数制造出来的,$()函数就是一个jquery对象的制造工厂.
建议:如果获取的对象是jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象,例如:
var $variable = jquery对象;
如果获取的是dom对象,则定义如下:
var variable = dom对象

Javascript 相关文章推荐
Javascript下判断是否为闰年的Datetime包
Oct 26 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
了解Javascript的模块化开发
Mar 02 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
Aug 18 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
JS实现可视化音频效果的实例代码
Jan 16 Javascript
原生js拖拽实现图形伸缩效果
Feb 10 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 #Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 #Javascript
有道JavaScript监听浏览器的问题
Jun 23 #Javascript
utf-8编码引起js输出中文乱码的解决办法
Jun 23 #Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
Jun 23 #Javascript
获取dom元素那些讨厌的位置封装代码
Jun 23 #Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 #Javascript
You might like
PHP4和PHP5共存于一系统
2006/11/17 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Python基于当前时间批量创建文件
2020/05/07 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
Python eval函数介绍及用法
2020/11/09 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
Linux操作面试题
2015/02/11 面试题
经理管理专业自荐信范文
2013/12/31 职场文书
大学专科自荐信
2014/06/17 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书