51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1783|回复: 1
打印 上一主题 下一主题

jquery与dom的转换

[复制链接]
  • TA的每日心情
    无聊
    前天 09:16
  • 签到天数: 498 天

    连续签到: 5 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-1-14 16:01:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    刚开始学习 jQuery,可能一时会分不清楚哪些是 jQuery对象,哪些是 DOM对象。至于 DOM对象不多解释,我们接触的太多了,下面重点介绍一下 jQuery,以及两者相互间的转换。

    什么是jQuery对象?

    ---就是通过 jQuery包装 DOM对象后产生的对象。 jQuery对象是 jQuery独有的,其可以使用 jQuery里的方法。

    比如:

    $("#test").html()   意思是指:获取ID为test的元素内的html代码。其中html()是 jQuery里的方法


    这段代码等同于用 DOM实现代码:

    document.getElementById("id").innerHTML;

    虽然 jQuery对象是包装 DOM对象后产生的,但是 jQuery无法使用 DOM对象的任何方法,同理 DOM对象也不能使用 jQuery里的方法.乱使用会报错。比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。

    还有一个要注意的是:用#id作为选择符取得的是 jQuery对象与document.getElementById("id")得到的 DOM对象,这两者并不等价。请参看如下说的两者间的转换。

    既然 jQuery有区别但也有联系,那么 jQuery对象与 DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。


    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对象

    alert(v.checked)  //检测这个checkbox是否被选中


    DOM对象转成jQuery对象:

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

    如:var v=document.getElementById("v");  // DOM对象

    var $v=$(v);    // jQuery对象

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

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

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-29 02:14 , Processed in 0.064483 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表