世上无难事只怕有心人,敲代码也一样只要你用心去搞懂一件事,即使一个小小的用法对你以后也会有很大的作用;

项目虽然赶得紧但是有些问题百度找完答案解决之后,也要自己梳理一遍做到心领神会!!!今天就直接来上周遇到的情况:

就是使用JS中的类似:documnet.getelementbyid('')方法与$('xxx')获得对象的区别于怎么进行两者之间的转换;

现在开始直奔今天主题:两者对象的区别(以下数据通过打日志的方法就可以获得 typeof() 即可)

Jquery得到的对象类型:$('xxx')===================得到的类型是:[object Object]

Js得到的对象的类型:docunment.getelementbyid('')==得到的类型是:[object HTMLDivElement]

KeyNote:

a: 什么是Jquery对象?

答:通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的 != Js中的对象,只能可以使用jQuery里的方法。

Jquery中的对象既然是对JS中对象的包装,那么一定会有转换的方法;看了网上很多例子基本上是千篇一律,不过有一点还是很庆幸的,

那就是例子通俗易懂,那么下面就直接开始上菜了o(∩_∩)o

前提:如果一个获取的是jQuery对 象,那么我们在变量前面加上$,如:var $variab = jQuery对象;

如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。

转换方法:

a : 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是否被选中

             b :  DOM对象转成jQuery对象: 
                   
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 
                  如:var v=document.getElementById("v"); //DOM对象 
                         var $v=$(v); //jQuery对象 
                         转换后,就可以任意使用jQuery的方法了。 
        通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。  

Eg :

下面是其它的相关使用方法:
           1、DOM对象转jQuery对象 
                普通的Dom对象一般可以通过$()转换成jQuery对象。

如:$(document.getElementById("msg")) 
                返回的就是jQuery对象,可以使用jQuery的方法。

           2、jQuery对象转DOM对象 
                由于jQuery对象本身是一个集合。所以如果jQuery对象要转换为Dom对象则必须取出其中的某一项,一般可通过索引取出。 
                如: $("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

这些都是Dom对象,可以使用Dom中的方法,但不能再使用jQuery的方法。

以下几种写法都是正确的: 
                   $("#msg").html(); 
                   $("#msg")[0].innerHTML; 
                   $("#msg").eq(0)[0].innerHTML; 
                   $("#msg").get(0).innerHTML;

           3、两种方法获取对象方式: 如有 <form name="formName"  id="formid"></form>

                通过id:

  document.getElementById('formid');

  $('#formid')

通过name

  document.getElementsByName('formName')[0]

  $("form[name='formName']")

 

Jquery自带的方法列表如下:

版权声明:本文为博主原创文章,如需转载,请标明出处。

详解JS与Jquery获得的对象的区别与联系的更多相关文章

  1. 详解js和jquery里的this关键字

    详解js和jquery里的this关键字 js中的this 我们要记住:this永远指向函数运行时所在的对象!而不是函数被创建时所在的对象.this对象是在运行时基于函数的执行环境绑定的,在全局环境中 ...

  2. 详解js面向对象编程

    转自:http://segmentfault.com/a/1190000000713346 基本概念 ECMA关于对象的定义是:”无序属性的集合,其属性可以包含基本值.对象或者函数.“对象的每个属性或 ...

  3. 详解js变量、作用域及内存

    详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4       原文出处: trigkit4    基本类型值有:undefined,NUll,Boolean,Number和Strin ...

  4. [转]javascript console 函数详解 js开发调试的利器

    javascript console 函数详解 js开发调试的利器   分步阅读 Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该 ...

  5. vue 源码详解(一):原型对象和全局 `API`的设计

    vue 源码详解(一):原型对象和全局 API的设计 1. 从 new Vue() 开始 我们在实际的项目中使用 Vue 的时候 , 一般都是在 main.js 中通过 new Vue({el : ' ...

  6. 详解js的bind、call、apply

    详解js的bind.call.apply 说明 虽然bind.call.apply都是js很基础的一块知识,但是我从未认真总结过这三者的区别. 由于公司后端是用的微服务架构,又没有中间层对接,导致前端 ...

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

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

  8. SQL 中详解round(),floor(),ceiling()函数的用法和区别?

    SQL 中详解round(),floor(),ceiling()函数的用法和区别? 原创 2013年06月09日 14:00:21   摘自:http://blog.csdn.net/yueliang ...

  9. Jquery 选择器 详解 js 判断字符串是否包含另外一个字符串

    Jquery 选择器 详解   在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jquery 各种在线工具地址:http://www.ostools ...

随机推荐

  1. pyTorch 基于以resnet50为backbone的PSPNet 训练VOC2012数据集

    代码链接:https://github.com/ggyyzm/pytorch_segmentation 使用PSPNet作为主干分类网络 1.将VOC2012数据集下载并解压到data/VOCtrai ...

  2. 关于paths.get()方法的参数的使用

    背景:项目中使用了一个第三方的jar包,里面用到了paths.get("xxx"),xxx表示的是配置文件,提供给用户自己制定的 问题就是这个xxx文件应该放到项目的什么地方去,测 ...

  3. request.user怎么来的

    1.登录认证(auth认证登录后login后设置了session等信息包含用户的pk)      >>>>>               2.用户再次请求登录的时候,通过 ...

  4. selenium--页面元素是否可见和可操作

    判断元素是否可见 from selenium import webdriver import unittest class Test_Display(unittest.TestCase): def t ...

  5. Http 状态码(Status Codes)

    七.状态码(Status Codes)*服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词).200 OK - [GET]:服务器成功返回用户请求的数据,该操作 ...

  6. 【线段树】【P4062】 [Code+#1]Yazid 的新生舞会

    Description 给定一个长度为 \(n\) 的序列,求有多少子区间满足区间众数严格大于区间长度的一半.如果区间有多个出现次数最多且不同的数则取较小的数为众数. Limitation 对于全部的 ...

  7. js中的自动包装机制

    有一行语句: 1.toString() //error 那么问题来了,为什么报错? 我的第一想法就是1是一个基本类型,所以它没有toString方法 嗯,理直气壮 接下来有大佬show me code ...

  8. Redis4.0.9最新版本安装时出现的问题

    Redis Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列. Redis的特点: Redis存在于内存,使用硬盘作为持久化 ...

  9. CF1174E Ehab and the Expected GCD Problem(DP,数论)

    题目大意:对于一个序列,定义它的价值是它的所有前缀的 $\gcd$ 中互不相同的数的个数.给定整数 $n$,问在 $1$ 到 $n$ 的排列中,有多少个排列的价值达到最大值.答案对 $10^9+7$ ...

  10. 聊聊对称/非对称加密在HTTPS中的使用

    目前常用的加密算法主要分成三类: 对称加密算法 非对称加密算法 消息摘要算法 在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改.对称/非对称加密算法能够避免信息窃取,而消息摘要算法能够避免信息 ...