Dom对象和Jquery对象区别详解

js的写法:document.getElementById('save').disabled=true;
在jquery中我是这样写的$("#save").disabled = true;  为什么没效果呢

10年积累的网站制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有下花园免费网站建设让你可以放心的选择与我们合作。

这个是典型的问题,其实因为$("#save")出来的其实是jQuery对象,而不是普通DOM对象
 
解决方法有2:
1,用JQ写法,$("#save").attr("disabled","true");
2,转成DOM写法$("#save")[0].disabled=true;
当然,$("#save")[0]也可以写成$("#save").get(0)。他返回的也是DOM元素

$("#save").eq(0)得到的还是jq对象 

如果给定表示 DOM 元素集合的 jQuery 对象,.eq() 方法会用集合中的一个元素构造一个新的 jQuery 对象

$(dom对象)就能得到一个jq对象

DOM对象是我们用传统的方法(javascript)获得的对象,jQuery对象就是用jQuery的类库选择器获得的对象。JQuery对象就是通过jQuery包装DOM对象后产生的对象。JQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;

例如:

$("#color").html();//获取id为color的元素内的html代码,html()是jQuery特有的方法;
它等同于:
document.getElementById("color").innerHTML;

DOM对象就是javascript固有的一些对象。DOM对象能使用javascript固有的方法,但是不能使用jQuery里面的方法。

例如$("#id").innerHTML 和$("#id").checked之类的写法都是错误的,可以用$("#id").html()和$("#id").attr("checked")之类的 jQuery方法来代替。

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

jQuery对象和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对象);
复制代码 代码如下:

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

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


新闻名称:Dom对象和Jquery对象区别详解
标题来源:http://scyanting.com/article/jhphoi.html