在讨论jQuery对象和DOM对象的相互转换之前,先约定好定义变量的风格(其中“moozie”只是个名字,也就是我的名字,没别的意思)。
如果获取的对象是jQuery对象,那么在变量前加上$,例如:
var $variable = jQuery对象;
如果获取的是DOM对象,则定义如下:
var variable = DOM对象;
下面说正事。
1、jQuery对象转换成DOM对象
jQuery对象不能使用DOM中的方法,但如果对jQuery对象所提供的方法不熟悉,或者jQuery没有封装想要的方法,不得不使用DOM对象的时候,有以下两种处理方法。
jQuery提供了两种方法讲一个jQuery对象转换成DOM对象,即[index]和get(index)。
(1)jQuery对象是一个数组对象,可以通过[index]的方法获得到相应的DOM对象。jQuery代码如下:
var $moozie = $("#moozie"); //jQuery对象的moozie
var moozie = $moozie[0]; //DOM对象的moozie
(2)另一种方法是jQuery本身提供的,通过get(index)获取相应DOM对象。jQuery代码如下:
var $moozie = $("#moozie"); //jQuery对象的moozie
var moozie = $moozie.get(0); //DOM对象
2、DOM对象转换成jQuery对象
对于一个DOM对象,只需要用$()把DOM包起来,就可以获得一个jQuery对象了。方式为$(DOM对象)。jQuery代码如下:
var moozie = document.getElementById("moozie"); //DOM对象
var $moozie = $(moozie); //这就转成jQuery对象啦
通过以上方法,可以任意的相互转换jQuery对象与DOM对象。另外多说一句,DOM对象才能使用DOM中的方法,jQuery对象不可以使用DOM中的方法。