对两种对象类型的定义,只要能理解并转换成自己的说法就可以,不用死板按照资料所写

jQuery对象(jq对象)其实就是通过jquery类库选择器获得的对象(或者说是通过$获取的对象或者说是通过jquery包装dom对象后产生的对象(可参照下面的对象转换理解));

  jquery对象是jquery独有,可以使用jquery里面的方法,但不能使用dom的方法;

示例:

  $("#img").attr("src", "test.jpg");其中$("#img")就是jquery对象;

DOM对象(js对象)就是通过传统方法(javascript)获得的对象或者说是javascript固有的一些对象操作或者说是通过document获得的对象;

  DOM对象能使用javascript固有的方法,但不能使用jquery里面的方法;

示例:

  document.getElementById("img").src = “test.jpg";其中document.getElementById("img")就是DOM对象;

需要注意的是:$("#img").attr("src", "test.jpg")和document.getElementById("img").src = “test.jpg"效果是一样的,

但是document.getElementById("img").attr("src", "test.jpg") 或者$("#img").src = “test.jpg"是错误的;不要混淆一点是,同一个javascript脚本里面可以同时出现jq对象或者js对象,只是没有转换对象是不能互相调用不是自己对象的方法;

还有一种情况,就是this的使用,很多人在写jquery时经常这样写:this.attr("src","test.jpg");可是就是出错,那是因为this是dom对象,而.attr("src","test.jpg")是jquery方法,当然出错;

如果要解决这个问题,只需将dom对象转成jquery对象,如:$(this).attr("src","test.jpg");

下面就谈谈jq对象、js对象的转换及使用

以前我一直认为jquery的$("#id")和document.getElementById("id")得到的结果是一样的,其实不然,可以做如下测试:

1、alert($("#div"))弹出[object Object]

2、alert(document.getElementById("div"))弹出[object HTMLDivElement]

3、alert($("#div")[0])或者alert($("#div").get(0))弹出[object HTMLDivElement]

1、DOM对象转jquery对象

对于已经是一个dom对象,只需要用$()把dom对象包装起来即可,如:$(dom对象)

示例:

  var obj=document.getElementById("id");   //dom对象
  var 
$obj = $(obj);   //转换成jquery对象

2、jquery对象转dom对象

有两种方式(通过索引):[index] 和 .get(index);

1)jquery对象是一个数组对象,可以通过[index]方法得到相应dom对象

示例:

  var $obj=$("#id");   //jquery对象
  var obj = $obj[0];   //dom对象 也可写成 var obj=$obj.get(0);

2)jquery本身提供,通过.get(index)方法得到相应的dom对象

示例:

  var $obj=$("#id");   //jquery对象

  var obj = $obj.get(0);   //dom对象 也可写成 var obj=$obj[0];

再次强调一下:DOM对象只能能使用javascript固有的方法,但不能使用jquery里面的方法;同时,jquery对象智能使用jquery的方法,不能使用dom对象方法;

另外以下几种写法都是正确的:

$("#id").html();

$("#id").get(0).innerHTML;

$("#id")[0].innerHTML;

jQuery DOM对象区别与联系的更多相关文章

  1. 2、jQuery的基本概念-必看-版本-入口函数- jq对象和dom对象区别

    1.4. jQuery的版本 官网下载地址:http://jquery.com/download/ jQuery版本有很多,分为1.x 2.x 3.x 大版本分类: 1.x版本:能够兼容IE678浏览 ...

  2. jQuery - DOM对象和jQuery对象

    DOM对象 : 直接使用JavaScript获取的节点对象 jQuery对象 : 使用jQuery选择器获取的节点对象 DOM对象和jQuery对象分别拥有一套独立的方法, 不能混用 <scri ...

  3. jQuery Dom对象操作 增、删、改、复制、包裹

    1. 增(插入) 内部插入 //向每个匹配的元素内部追加内容,为最后一个子元素$('.violet').append('<div></div>'); //把所有匹配的元素追加到 ...

  4. 判断一个对象是jQuery对象还是DOM对象

    今天调试一段代码的时候,看到其中一个变量,想知道它到底是jquery对象还是dom对象. 虽然直接console出这个对象,看它的内部可以判断出来.但是我想有没有什么更方便的方法呢. 后来我想到了一个 ...

  5. 【Jquery系列】详解Jquery对象和Dom对象

    问题描述 本篇文章主要讲解Jquery对象和DOM对象,主要围绕如下五个方面来介绍: Jquery对象和dom对象定义 Jquery对象与dom对象区别 Jquery对象及运用举例 dom对象及运用举 ...

  6. 锋利的jQuery(1)——DOM对象与jQuery对象的转换

    1.认识jQuery DOM对象:即文档对象模型 jQuery对象:通过jQuery包装DOM对象后产生的对象.这是jQuery对象所特有的,在jQuery对象中无法使用DOM对象的任何方法,同时DO ...

  7. jquery中 dom对象与jQuery对象相互转换

    var jq = $(dom对象);//额 再补充点吧好记. $是jquery的别名.这一句等价于 var jq = jQuery(dom对象); 反之. dom对象 = jq[0]; //不写那么长 ...

  8. jQuery 对象和 DOM 对象

    jQuery(DOM对象) 或者 $(DOM对象) 此函数的作用是将DOM对象,转换为jQuery的对象 DOM对象其实就是javascript的函数对象,可以用来操作所有HTML元素.比如: a标签 ...

  9. [jQuery]jQuery和DOM对象互换(四)

    DOM 和 jQuery 相互转换 DOM 转jQuery $(DOM对象) # (1)直接获取 $('video'); # (2)转换 $(DOM对象) var myVideo = document ...

随机推荐

  1. jrebel的安装配置

    1,在线安装jrebel[也可以离线,不过在线可以直接支持maven] 2,然后按照如下步骤 http://idea.goxz.gq/ilanyu 242367666@qq.com 随意邮箱    然 ...

  2. (转)Java.lang.reflect.Method invoke方法 实例

    背景:今天在项目中用到Method 的invoke方法,但是并不理解,查完才知道,原来如此! import java.lang.reflect.Method; /** * Java.lang.refl ...

  3. Object-C 里面的animation动画效果,核心动画

    #import "CoreAnimationViewController.h" @interface CoreAnimationViewController ()@property ...

  4. vc++MFC开发上位机程序

    用vc++MFC开发过不少跟单片机通讯的上位机程序了.搞懂了MFC架构,开发还是很快的,与底层单片机程序通讯,可以用串口.usb.网络.短信形式.串口现在用的越来越少了,一般电脑跟单片机在一块,使用串 ...

  5. android rss阅读器开发一点小技巧

    这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ...

  6. pwnable input2 之 write up

    首先看源代码: input2@ubuntu:~$ cat input.c #include <stdio.h> #include <stdlib.h> #include < ...

  7. 使用 Router 实现的模块化,如何优雅的回到主页面

    使用 Router 实现的模块化,如何优雅的回到主页面 版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 未经允许,不得转载. 一.前言 现在越来越多的 App ...

  8. Git时光机穿梭之删除文件

    在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交: $ git add test.txt $ git commit -m "add test. ...

  9. swift3.0 对UITextField()输入框输入的内容进行监控

    首先需要继承 UITextFieldDelegate class TestViewController: UIViewController,UITextFieldDelegate{ } 添加事件委托 ...

  10. vue指令v-bind示例解析

    1.绑定一个属性 <img id="app" v-bind:src="imageSrc"> <script> var app = Vue ...