jQuery对象与DOM对象的相互转化

  jQuery是一个类数组对象,DOM对象就是一个单独的DOM元素,他们都是可以操作的DOM元素。

一、jQuery对象转化为DOM对象

有以下两种方法:

方法一:利用数组下标的方式读取jQuery中的DOM对象

HTML代码:

1 <div>元素一</div>
2 <div>元素二</div>
3 <div>元素三</div>

javascript代码:

1 var $div =$('div');  //jQuery对象
2 var div = $div[0];  //转化为DOM对象
3 div.style.color = 'red'  //操作DOM对象的属性

jQuery对象是一个数组结构,可以通过数组下标索引找到对应的div元素,通过返回的div对象调用它的style属性修改div元素的颜色。

方法二:通过jQuery自带的get()方法

jQuery对象自身提供一个.get()方法允许我们直接访问jQuery对象中相关的DOM节点,get方法中提供了一个元素的索引

1 var $div = $('div')  //jQuery对象
2 var div = $div.get(0);  //通过get方法,转化为DOM对象
3 div.style.color = 'red';  //操作DOM对象的属性

其实,jQuery源码中,get()方法就是利用数组下标的方式处理的,只不过jQuery把它包装程get方法更便于开发者使用。

二、DOM对象转化为jQuery对象

  相比较jQuery对象转化为DOM对象,开发中更多的是把一个DOM对象加工成一个jQuery对象。$(参数)是一个对功能大方法,通过传递不同的参数而产生不同的作用,如果传递的参数是一个DOM对象,jQuery就可以把DOM对象包装转化为一个jQuery对象。

javascript代码:

1 var div = document.getElementsByTagName('div');  //DOM对象
2 var $div = $(div);  //jQuery对象
3 var $first = $div.first();  //找到第一个div元素
4 $first.css('color','red');

  通过getElementSByTagName()获取到所有的div节点的元素,结果是一个DOM合集对象,这个对象是一个数组合集,通过$(div)方法转化为jQuery对象,再调用jQuery对象中的first和css方法查找对应的元素并改变其颜色。