您的位置:首页 > Web前端 > JQuery

jQuery对象与dom对象相互转换

2011-09-14 09:10 751 查看
http://hi.baidu.com/maisui99/blog/item/c77df70be2742533b0351ddc.html

一般情况下,如S(’#id’)得到的是jquery对象,它不能使用js中的dom方法。所以,如果jquery对象要使用标准的 dom方法,就需要进行对象转换 dom对象才能使用dom中的方法,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方法。

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

jquery对象就是一个数组对象,jquery提供了两种方法将一个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 cr=document.getElementById("cr"); //dom对象

var $cr = $(cr); //转换成jquery对象

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

约定:

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

如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于理解与区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: