Jquery对象与DOM对象
<p id=”red”></p>
我们要获取页面上这个id为red的p元素并添加文本“this is red”,接着让文字颜色变成红色。
DOM对象
var p = document.getElementById('imooc');
p.innerHTML = 'this is red';
p.style.color = 'red';
通过document.getElementById(“red”) 方法获取的DOM元素就是一个DOM对象,接着调用innerHTML与style属性处理文本与颜色。
jQuery对象
var $p = $('#red');
$p.html('this is red').css('color','red');
通过$('#red')方法会得到一个$p的jQuery对象。
jQuery对象转DOM对象
HTML代码
<div>内容一</div>
<div>内容二</div>
<div>内容三</div>
JavaScript处理
var $div = $('div') //jQuery对象
var div = $div[0] //转化成DOM对象
div.style.color = 'red' //操作dom对象的属性
用jQuery找到所有的div元素(3个),接着可以通过数组下标索引找到第一个div元素,通过返回的div对象,调用它的style属性修改第一个div元素的颜色。
jQuery处理
jQuery对象自身提供一个.get() 方法允许我们直接访问jQuery对象中相关的DOM节点,get方法中提供一个元素的索引:
var $div = $('div') //jQuery对象
var div = $div.get(0) //通过get方法,转化成DOM对象
div.style.color = 'red' //操作dom对象的属性
DOM对象转化成jQuery对象
相比较jQuery转化成DOM,开发中更多的情况是把一个dom对象加工成jQuery对象。$(参数)是一个多功能的方法,通过传递不同的参数而产生不同的作用。通过$(dom)方法将普通的dom对象加工成jQuery对象之后,我们就可以调用jQuery的方法了
HTML代码
<div>元素一</div>
<div>元素二</div>
<div>元素三</div>
JavaScript处理
var div = document.getElementsByTagName('div'); //dom对象
var $div = $(div); //jQuery对象
var $first = $div.first(); //找到第一个div元素
$first.css('color', 'red'); //给第一个元素设置颜色
通过getElementsByTagName获取到所有div节点的元素,结果是一个dom合集对象,不过这个对象是一个数组合集(3个div元素)。通过$(div)方法转化成jQuery对象,通过调用jQuery对象中的first与css方法查找第一个元素并且改变其颜色。