Jquery与Dom对象相互转化

 

jQurey对象和DOM对象的相互转换

在讨论jQurey对象和DOM对象的相互转换之前,我们先约定定义变量的风格。如果我们获取的对象是jQuery对象,那么我们在变量前面加上$,例如:

  1. var   $variable    =   jQuery 对象 ;

如果获取的是DOM对象,则定义如下:

  1. var  variable     =   DOM对象;

本书中的例子均会以这种方式呈现,以方便读者阅读。

1. jQuery对象转成DOM对象

前面说了,jQuery对象不能使用DOM中的方法,但如果对jQuery对象所提供的方法不熟悉,或者jQuery没有封装想要的方法,这时不得不使用DOM对象的时候,该怎么办呢?

jQuery提供两种方式来将一个jQuery对象转换成DOM对象:[ index ]和get( index )。

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

jQuery代码如下:

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

(2) 另一种方式是jQuery本身提供的,通过get(index) 方法,来得到相应的 DOM 对象。

jQuery代码如下:

  1. var $cr    =     $("#cr");        // jQuery对象
  2. var cr     =     $cr.get(0);      // DOM对象
  3. alert(cr.checked)             //检测这个checkbox是否被选中了

2. DOM对象转成jQuery对象

对于已经是一个DOM对象的,只需要用$( ) 把 DOM对象包装起来,就可以获得一个如假包换的jQuery对象了。方式为 $( DOM对象)。

jQuery代码如下:

  1. var cr   =  document.getElementById("cr");     //DOM对象
  2. var $cr   =   $(cr);                            // jQuery 对象

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

通过以上提供的方法,我们可以任意的相互转换 jQuery对象和DOM对象。

最后再次强调下,DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法的,但jQuery对象提供了一套更加完善的工具用于操作DOM。。

注:我们所用的jQuery对象都是通过$()函数制造出来的,$()函数就是一个jQuery对象的制造工厂。

实例研究

下面举个简单的例子,来加深对jQuery对象和DOM对象的理解。

大家应该都玩过论坛,有的论坛注册的时候,用户必须先要同意论坛的规章制度,才可以进行下一步操作,效果如图1-15所示。

(点击查看大图)图1-15 某论坛注册截图

这个是某论坛的注册页面,用户必须选中页面下方的"同意并接受注册协议",否则不能注册。

做个简单的例子,来实现这个功能。新建一个空白的页面,然后添加如下HTML代码:

  1. <inputtype="checkbox"id="cr"/><labelfor="cr">
    我已经阅读了上面制度.</label>

HTML代码初始效果如图1-16所示:

图1-16 初始化状态

然后编写JavaScript部分。前面说过了,没有特殊声明,jQuery库是默认导入的。

我们可以通过$("#cr")获取到复选框元素,然后通过判断复选框是否被选中,来执行下一步操作。

首先,用DOM方式来判断复选框是否被选中,代码如下:

  1. $(document).ready(function(){            //等待dom元素加载完毕.
  2. var $cr = $("#cr");              //jQuery对象
  3. var cr = $cr[0];        //DOM对象,或者 $cr.get(0)
  4. $cr.click(function(){
  5. if(cr.checked){        //DOM方式判断
  6. alert("感谢你的支持!你可以继续操作!");
  7. }
  8. })
  9. })

实现上述代码后,选中"我已经阅读了上面制度",效果如图1-17所示。

图1-17 选中选项后的效果图

换一种方式,我们使用jQuery中的方法来判断选项是否被选中,代码如下:

  1. $(document).ready(function(){                  //等待dom元素加载完毕.
  2. var $cr = $("#cr");                   //jQuery对象
  3. $cr.click(function(){
  4. if($cr.is(":checked")){         //jQuery方式判断
  5. alert("感谢你的支持!你可以继续操作!");
  6. }
  7. })
  8. })

上面的例子简单的演示了DOM对象和jQuery对象的不同,但最终效果都一样。

From:

http://hi.baidu.com/jiang_yy_jiang/blog/item/27ab17c41974c7c738db49e4.html

Jquery与Dom对象相互转化的更多相关文章

  1. jquery和dom对象相互转化的方法

    jQuery对象转成DOM对象: 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得 ...

  2. Jquery与DOM对象

    在第一次学习jquery中,常常会不能分辨DOM对象和Jquery对象,下面我们就简诉一下它们之间的关系和区别 1.DOM对象(Document Object Model) 文档对象模型,每一份DOM ...

  3. jQuery介绍 DOM对象和jQuery对象的转换与区别

    jQuery介绍 DOM对象和jQuery对象的转换与区别 jQuery介绍      jQuery: http://jquery.com/      write less, do more.   j ...

  4. jQuery和DOM对象之间的转换

    jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’)得到的是 ...

  5. jQuery与DOM对象的转换

    一.jQuery与DOM对象的转换. 1.jQuery对象转换为DOM对象:$cr[0] 或 $cr.get(0) $cr为jQuery对象 2.DOM对象转换为jQuery对象:$(cr) cr为D ...

  6. jQuery - 01. jQuery特点、如何使用jQuery、jQuery入口函数、jQuery和DOM对象的区别、jQuery选择器、

    this指的是原生js的DOM对象 .css(“”):只写一个值是取值,写俩值是赋值 window.onload   ===   $(document).ready(); $(“”):获取元素   标 ...

  7. 【Jquery对象】jquery与dom对象的区别

    最近工作有很多判断的代码,用到了jquery与dom对象的地方比较多,写在这里加强下基本概念: 1.判断是否存在时候,要用dom对象,因为jQuery在获得对象的时候,无论要获得的对象是否存在,都会返 ...

  8. jQuery控制DOM对象

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. jQuery和DOM对象

    html示例 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=" ...

随机推荐

  1. ubunt设置终端快捷键设置 及 常用快捷键

    Ctrl+A:将光标移动到命令行的开始处. Ctrl+E:将光标移动到命行令的结尾处. Ctrl+U:删除行首到光标出的字符. Ctrl+Z:把当前进程送到后台处理.  &    bg 部分快 ...

  2. 把以100000+4位随机码的登录账号(比如1000001234),赋予制单页面的权限,怎么写sql啊

    insert into sys_user_role (user_id,role_id,office_id)  select id,'000101100000000004UP',company_id f ...

  3. [HDU4417]Super Mario(主席树+离散化)

    传送门 又是一道主席树模板题,注意数组从0开始,还有主席树耗费空间很大,数组开大点,之前开小了莫名其妙TLE.QAQ ——代码 #include <cstdio> #include < ...

  4. msp430项目编程23

    msp430中项目---风扇控制系统 1.比较器工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习

  5. 离线配置Anaconda3+tensorflow-gpu1.4.0+cuda8.0+cudnn6.0

    1.首先下载anaconda3 ----从官网上下载Anaconda3-5.1.0-Linux-x86_64.sh 直接通过命令 bash Anaconda3-5.1.0-Linux-x86_64.s ...

  6. delightful world--计蒜客(DFS)

    http://nanti.jisuanke.com/t/11067 题目大意: 给你一个n和m  下面是m个字符串和k   每一字符串的长度是n  你要找一个串跟每一个串匹配  有k个字符是和这个串相 ...

  7. [Bzoj2039]小Z的袜子 (莫队算法模板题)

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 11866  Solved: 5318[Sub ...

  8. loj516 DP一般看规律(set启发式合并)

    题目: https://loj.ac/problem/516 分析: 每次将一个颜色更改为另一个颜色相当于将两个集合合并 然后对于答案的更新,一个点插入到一个集合中,那么可能更新答案的就是其前驱节点或 ...

  9. Spring Boot应用的启动和停止(Spring Boot应用通过start命令启动)

    Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行.产品级别的基于S ...

  10. SQL Server vNext CTP 1.2

    https://msdn.microsoft.com/en-us/library/mt788653.aspx