对于刚刚接触jQuery的初学者来说,可能jQuery对象与DOM对象是一样的,但其实它们是不一样的。可能刚刚开始接触分不清楚哪些是jQuery对象,哪些是DOM对象,下面就重点说一下jQuery对象以及两者之间的相互转换。
要获取到页面上的某一个id上的某一个元素,然后给这个文本标签增加一段文字,并且让这段文字的颜色变为其他颜色。这有两种处理方法:一是普通处理,也就是通过标准JavaScript处理,二是jQuery处理。例子如下:
获取到页面上id为text的p元素,然后给这个文本节点增加一段文字为“您好!这是一个段落标签”,并且让文字颜色变成红色。
通过原生DOM模型提供的document.getElementById(“text”)方法获取到的DOM元素就是一个DOM对象,再通过innerHTML与style属性处理文本与颜色。
jQuery的处理:
通过(text)方法会得到一个(text)方法会得到一个(text)方法会得到一个p的jQuery对象,$p是一个类数组对象。这个对象里面包含了DOM对象的信息,然后封装了很多操作方法,调用自己的方法HTML与CSS,得到效果与标准的JavaScript处理结果是一样的。
通过标准的JavaScriptDOM操作与jQuery操作DOM的对比我们可以发现:
- 通过jQuery方法包装后的对象,是一个类数组对象。它与DOM对象完全不同,唯一相同的是它们都可以操作DOM。
- 通过jQuery处理DOM的操作,可以让开发和更专注业务逻辑的开发,而不需要我们具体知道哪个节点有哪些方法,也不需要关心不同浏览器的兼容性问题。
- 通过jQuery提供的API进行开发,代码也会更加精短。
我们使用的jQuery的同时也会混合着JavaScript原生代码一起使用。所以在很多场景中,我们需要jQuery与DOM能够相互的转换,它们都是可以操作的DOM元素。jQuery是一个类数组对象,而DOM对象只是一个单独的DOM元素。
jQuery对象转化为DOM对象:
jQuery库本质上还是JavaScript代码,它只是对JavaScript语言进行包装处理,为的是提供更好更方便快捷的DOM处理与开发经常使用的功能。
如何把jQuery对象转成DOM对象?这里有两个方法:
一. 使用JavaScript代码:
用jQuery找到所有的div元素(多个),因为jQuery对象也是一个数结构,可以通过数组下标索引找到第一个div元素,通过返回的div对象来调用它的style属性修改第一个div元素的颜色。需要注意的是,数组的索引从0开始,也就是下标索引为0,如上图。
二. 通过jQuery自带的个体()方法:
jQuery对象自身提供一个.get()方法允许我们直接访问jQuery对象中相关的DOM节点,get方法中提供一个元素的索引。也就是通过get方法转化成DOM对象。这两者转化成DOM对象的方法不同,其他的都一样。
DOM对象转化成jQuery对象:
相比较jQuery转化成DOM,在开发规程中更多的是把一个DOM对象加工成jQuery对象。(参数)是一个多功能的方法,通过传递不同的参数而产生不同的作用。如果传递给(参数)是一个多功能的方法,通过传递不同的参数而产生不同的作用。如果传递给(参数)是一个多功能的方法,通过传递不同的参数而产生不同的作用。如果传递给(DOM)函数的参数是一个DOM对象,jQuery方法会把这个DOM对象给包装成一个新的jQuery对象。通过$(dom)方法将普通的dom对象加工成jQuery对象之后,我们就可以调用jQuery方法了。
JavaScript代码:
通过getElementByTagName获取到所有div节点的元素,结果是一个dom合集对象,不过这个对象是一个数组合集(多个元素)。再通过(div)方法转化成jQuery对象,通过调用jQuery对象中的first与CSS方法查找到第一个元素并改变其颜色。jQuery对象的(div)方法转化成jQuery对象,通过调用jQuery对象中的first与CSS方法查找到第一个元素并改变其颜色。jQuery对象的(div)方法转化成jQuery对象,通过调用jQuery对象中的first与CSS方法查找到第一个元素并改变其颜色。jQuery对象的(div)等价于jQuery(div)。如上图中的$(div) = (div)可以写成(div)可以写成(div)可以写成(div) = jQuery(div),凭个人喜好。