DOM对象与jquery对象有什么不同

2024-11-14 10:58:35
推荐回答(3个)
回答1:

jQuery对象和DOM对象使用说明,需要的朋友可以参考下。
1.jQuery对象和DOM对象
第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.
DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;
复制代码 代码如下:

var domObj = document.getElementById("id"); //DOM对象
var $obj = $("#id"); //jQuery对象;

jQuery对象就是通过jQuery包装DOM对象后产生的对象,它是jQuery独有的。如果一个对象是jQuery对象,那么就可以使用jQuery里的方法,例:
$("#foo").html(); //获取id为foo的元素内的html代码,html()是jQuery特有的方法;
上面的那段代码等同于:
document.getElementById("foo").innerHTML;

注意:在jQuery对象中无法使用DOM对象的任何方法。
例如$("#id").innerHTML 和$("#id").checked之类的写法都是错误的,可以用$("#id").html()和$("#id").attr ("checked")之类的 jQuery方法来代替。同样,DOM对象也不能使用jQuery方法。学习jQuery开始就应当树立正确的观念,分清jQuery对象和DOM对象之间的区别,之后学习 jQuery就会轻松很多的。

2.jQuery对象和DOM对象的互相转换

在上面第一点说了,jquery对象和dom对象是不一样的!比如jquery对象不能使用dom的方法,dom对象不能使用jquery方法,那假如我 jquery没有封装我要的方法,那能怎么办呢?
这时我们可以将jquer对象转换成dom对象

jquery对象转换成 dom对象
jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象.
下面代码将演示一个jquery对象转换成dom对象,再使用dom对象的方法
复制代码 代码如下:

var $cr=$("#cr"); //jquery对象
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0);
alert(cr.checked); //检测这个checkbox是否给选中

dom对象转换成jquery对象
对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);
复制代码 代码如下:

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

转换后可以任意使用jquery中的方法了.

通过以上的方法,可以任意的相互转换jquery对象和dom对象.
最后再次强调,dom对象才能使用dom中的方法,jquery对象不可以使用dom中的方法,但 jquery对象提供了一套更加完善的工具用于操作dom,关于jquery的dom操作将在后面的文章进行详细讲解.

ps: 平时用到的jquery对象都是通过$()函数制造出来的,$()函数就是一个jquery对象的制造工厂.
建议:如果获取的对象是 jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象,例如:
var $variable = jquery对象;
如果获取的是dom对象,则定义如下:
var variable = dom对象

回答2:

一、JavaScript 对象JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型。

访问对象的属性:

[javascript] 

var message="Hello World!";  

var x=message.length;  

创建 JavaScript 对象:

[javascript] 

person=new Object();  

person.firstname="Bill";  

person.lastname="Gates";  

person.age=56;  

person.eyecolor="blue";  

使用对象构造器:

[javascript] view plaincopy

function person(firstname,lastname,age,eyecolor)  

{  this.firstname=firstname;  this.lastname=lastname;  this.age=age;this.eyecolor=eyecolor;  }  [javascript] 

var myFather=new person("Bill","Gates",56,"blue");  

var myMother=new person("Steve","Jobs",48,"green");  

二、DOM对象

DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。

根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API)。

通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。

HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。

DOM对象,即是我们用传统的方法(javascript)获得的对象。

三、jQuery对象

jquery对象其实是一个javascript的数组,这个数组对象包含125个方法和4个属性

4个属性分别是

jquery     当前的jquery框架版本号

length     指示该数组对象的元素个数

context    一般情况下都是指向HtmlDocument对象   

selector   传递进来的选择器内容  如:#yourId或.yourClass等

如果你通过$("#yourId")方法获取jquery对象,

并且你的页面中只有一个id为yourId的元素

那么$("#yourId")[0]就是HtmlElement元素

与document.getElementById("yourId")获取的元素是一样的

简单理解,就是jQuery创建的对象

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

四、DOM对象和jquery对象的区别

[javascript] 

var domObj = document.getElementById("id"); //DOM对象  

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

[javascript]  

$(“#img”).attr(“src”,”test.jpg”); //这里的$(“#img”)就是获取jQuery对象

[javascript]  

document.getElementById(“img”).src=”test.jpg”;//这里

document.getElementById(“img”)就是DOM对象;  

再说一个例子:就是this,我在写jQuery的时候经常这样写:

this.attr(“src”,”test.jpg”);

可是就是出错。其实this是DOM对象,而.attr(“src”,”test.jpg”)是jQuery方法,所以出错了。要解决这个问题就要将DOM对象转换成jQuery对象,例:$(this).attr(“src”,”test.jpg”);

五、DOM对象和jquery对象的转换

DOM对象转成jQuery对象:

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

方法:$(DOM对象)

[javascript] 

var v=document.getElementById(“v”);  //DOM对象  

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

jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

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

[javascript]  

var $v =$(“#v”) ; //jQuery对象  

var v=$v[0];    //DOM对象  

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

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

[javascript] 

var $v=$(“#v”);  //jQuery对象  

var v=$v.get(0);   //DOM对象  

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

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。

Document Object Model的历史可以追溯至1990年代后期微软与Netscape的"浏览器大战",双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,既有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。

回答3:

var domObj = document.getElementById("id"); //DOM对象
var $obj = $("#id"); //jQuery对象;

jquery对象使用方法请参考:https://www.apiref.com/jquery-zh/index.html