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 相关文章推荐
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
Aug 04 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
Jul 27 Javascript
Angular Js文件上传之form-data
Aug 28 Javascript
详解JavaScript函数对象
Nov 15 Javascript
学习Angularjs分页指令
Jul 01 Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 Javascript
基于Vue实现页面切换左右滑动效果
Jun 29 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
Nov 09 Javascript
node中短信api实现验证码登录的示例代码
Jan 20 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python实现360的字符显示界面
2014/02/21 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python argparser的具体使用
2019/11/10 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
历史专业学生的自我评价
2014/02/28 职场文书
党支部特色活动方案
2014/08/20 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
干部外出学习心得体会
2016/01/18 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android