Jquery与Dom对象相互转化
Jquery与Dom对象相互转化
jQurey对象和DOM对象的相互转换
在讨论jQurey对象和DOM对象的相互转换之前,我们先约定定义变量的风格。如果我们获取的对象是jQuery对象,那么我们在变量前面加上$,例如:
- var $variable = jQuery 对象 ;
如果获取的是DOM对象,则定义如下:
- var variable = DOM对象;
本书中的例子均会以这种方式呈现,以方便读者阅读。
1. jQuery对象转成DOM对象
前面说了,jQuery对象不能使用DOM中的方法,但如果对jQuery对象所提供的方法不熟悉,或者jQuery没有封装想要的方法,这时不得不使用DOM对象的时候,该怎么办呢?
jQuery提供两种方式来将一个jQuery对象转换成DOM对象:[ index ]和get( index )。
(1) jQuery对象是一个数组对象,可以通过 [index] 的方式,来得到相应的 DOM 对象。
jQuery代码如下:
- var $cr = $("#cr"); // jQuery对象
- var cr = $cr[0]; // DOM对象
- alert(cr.checked) //检测这个checkbox是否被选中了
(2) 另一种方式是jQuery本身提供的,通过get(index) 方法,来得到相应的 DOM 对象。
jQuery代码如下:
- var $cr = $("#cr"); // jQuery对象
- var cr = $cr.get(0); // DOM对象
- alert(cr.checked) //检测这个checkbox是否被选中了
2. DOM对象转成jQuery对象
对于已经是一个DOM对象的,只需要用$( ) 把 DOM对象包装起来,就可以获得一个如假包换的jQuery对象了。方式为 $( DOM对象)。
jQuery代码如下:
- var cr = document.getElementById("cr"); //DOM对象
- var $cr = $(cr); // jQuery 对象
转换后,就可以任意使用jQuery中的方法了。
通过以上提供的方法,我们可以任意的相互转换 jQuery对象和DOM对象。
最后再次强调下,DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法的,但jQuery对象提供了一套更加完善的工具用于操作DOM。。
注:我们所用的jQuery对象都是通过$()函数制造出来的,$()函数就是一个jQuery对象的制造工厂。
实例研究
下面举个简单的例子,来加深对jQuery对象和DOM对象的理解。
大家应该都玩过论坛,有的论坛注册的时候,用户必须先要同意论坛的规章制度,才可以进行下一步操作,效果如图1-15所示。
![]() |
| (点击查看大图)图1-15 某论坛注册截图 |
这个是某论坛的注册页面,用户必须选中页面下方的"同意并接受注册协议",否则不能注册。
做个简单的例子,来实现这个功能。新建一个空白的页面,然后添加如下HTML代码:
- <inputtype="checkbox"id="cr"/><labelfor="cr">
我已经阅读了上面制度.</label>
HTML代码初始效果如图1-16所示:
![]() |
| 图1-16 初始化状态 |
然后编写JavaScript部分。前面说过了,没有特殊声明,jQuery库是默认导入的。
我们可以通过$("#cr")获取到复选框元素,然后通过判断复选框是否被选中,来执行下一步操作。
首先,用DOM方式来判断复选框是否被选中,代码如下:
- $(document).ready(function(){ //等待dom元素加载完毕.
- var $cr = $("#cr"); //jQuery对象
- var cr = $cr[0]; //DOM对象,或者 $cr.get(0)
- $cr.click(function(){
- if(cr.checked){ //DOM方式判断
- alert("感谢你的支持!你可以继续操作!");
- }
- })
- })
实现上述代码后,选中"我已经阅读了上面制度",效果如图1-17所示。
![]() |
| 图1-17 选中选项后的效果图 |
换一种方式,我们使用jQuery中的方法来判断选项是否被选中,代码如下:
- $(document).ready(function(){ //等待dom元素加载完毕.
- var $cr = $("#cr"); //jQuery对象
- $cr.click(function(){
- if($cr.is(":checked")){ //jQuery方式判断
- alert("感谢你的支持!你可以继续操作!");
- }
- })
- })
上面的例子简单的演示了DOM对象和jQuery对象的不同,但最终效果都一样。
From:
http://hi.baidu.com/jiang_yy_jiang/blog/item/27ab17c41974c7c738db49e4.html
Jquery与Dom对象相互转化的更多相关文章
- jquery和dom对象相互转化的方法
jQuery对象转成DOM对象: 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得 ...
- Jquery与DOM对象
在第一次学习jquery中,常常会不能分辨DOM对象和Jquery对象,下面我们就简诉一下它们之间的关系和区别 1.DOM对象(Document Object Model) 文档对象模型,每一份DOM ...
- jQuery介绍 DOM对象和jQuery对象的转换与区别
jQuery介绍 DOM对象和jQuery对象的转换与区别 jQuery介绍 jQuery: http://jquery.com/ write less, do more. j ...
- jQuery和DOM对象之间的转换
jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’)得到的是 ...
- jQuery与DOM对象的转换
一.jQuery与DOM对象的转换. 1.jQuery对象转换为DOM对象:$cr[0] 或 $cr.get(0) $cr为jQuery对象 2.DOM对象转换为jQuery对象:$(cr) cr为D ...
- jQuery - 01. jQuery特点、如何使用jQuery、jQuery入口函数、jQuery和DOM对象的区别、jQuery选择器、
this指的是原生js的DOM对象 .css(“”):只写一个值是取值,写俩值是赋值 window.onload === $(document).ready(); $(“”):获取元素 标 ...
- 【Jquery对象】jquery与dom对象的区别
最近工作有很多判断的代码,用到了jquery与dom对象的地方比较多,写在这里加强下基本概念: 1.判断是否存在时候,要用dom对象,因为jQuery在获得对象的时候,无论要获得的对象是否存在,都会返 ...
- jQuery控制DOM对象
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- jQuery和DOM对象
html示例 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=" ...
随机推荐
- POJ2421 Constructing Roads
Constructing Roads 这道题很水,就是一个裸的最小生成树,最不过把已经连接的节点的值再设为0. 代码: #include<cstdio> #include<cstri ...
- git clone, push, pull, fetch 的用法
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- [luoguP1437] [HNOI2004]敲砖块(DP)
传送门 可以得到一个性质,如果打掉第i列的第j个,那么第i列的1~j-1个也会打掉. 如果第i列打j个,那么第i+1列至少打j-1个. #include <cstdio> #include ...
- [luoguP2679] 子串(DP)
传送门 气死我了,自己YY的方法只能得70分. 一个下午都在搞这道题. 至于正解,真的不想写了. 请移步 here #include <cstdio> #define M 201 #def ...
- 【分块+树状数组】codechef November Challenge 2014 .Chef and Churu
https://www.codechef.com/problems/FNCS [题意] [思路] 把n个函数分成√n块,预处理出每块中各个点(n个)被块中函数(√n个)覆盖的次数 查询时求前缀和,对于 ...
- 尽量写出大家都能看懂的ReactJS入门教程
个人感觉ReactJS相比于传统的JS框架还是挺有意思的,主要是它将JS代码和HTML代码完美的结合在了一起,有点jsp把java代码和html混在一起写的意思?但是它通过组件的形式实现了代码可复用, ...
- BZOJ1700: [Usaco2007 Jan]Problem Solving 解题
每月m<=1000块钱,有n<=300道题,要按顺序做,每月做题要花钱,花钱要第一个月预付下个月立即再付一次,给出预付和再付求最少几个月做完题,第一个月不做. 神奇的DP..竟没想出来.. ...
- 如何改变linux系统的只读文件的权限
vim 编辑可以在命令模式输入 :wq! 保存退出可以用chmod 命令修改文件权限. chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.该命令有两种用法.一 ...
- Perforce share workspace between linux and windows
p4 workspace 跨平台共享 (linux 和 window 共享) 用来存放代码的目录: linux存放代码目录: /home/username/ windows 上map network ...
- BZOJ——2563: 阿狸和桃子的游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=2563 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: ...


