我爱编程jQuery学习笔记和源码分析饥人谷技术博客

jQuery基础-jQuery对象和DOM对象

2017-07-20  本文已影响0人  七_五

1、jQuery对象转化成DOM对象

jQuery库在本质上还是JavaScript代码,它只是对JavaScript语言进行包装处理,为的是提供更好更方便快捷的DOM处理与开发中经常使用的功能。我们使用jQuery的同时也能混合JavaScript原生代码一起使用。在很多场景中,我们需要jQuery与DOM能够相互的转换,它们都是可以操作的DOM元素,jQuery是一个类数组对象,而DOM对象就是一个单独的DOM元素

jQuery是一个类数组对象,因此我们可以利用数组下标的方式读取到jQuery中的DOM对象:

<div>1</div>
<div>2</div>
<div>3</div>
var $div = $('div')         //jQuery对象,找到所有的div元素(三个)
var div1 = $div[0]           //转化成DOM对象,通过数组下标索取到第一个div元素
div1.style.color = 'red'    //操作dom对象的属性,修改第一个div元素的颜色

查看效果:Github Page
查看源码: Github

2、DOM对象转化成jQuery对象

对于一个DOM对象,只需要用$()把DOM对象包装起来,便可以获得一个jQuery对象,方法:$(DOM对象),就可以调用jQuery的方法啦

<div>1</div>
<div>2</div>
<div>3</div>
var div = document.querySelector('div') //DOM获取对象
var $div = $(div)        //通过$(dom对象)转换为jQuery对象
var $first = $div.first();       //调用jQuery方法,找到第一个div元素
$first.css('color','red')       //为第一个元素设置颜色

查看效果:Github Page
查看源码:Github

3、jQuery选择器之特殊选择器this

以前刚接触jQuery的时候,对$(this)和this的区别模糊不清,那么这两者有什么区别呢?
我们知道在JavaScript中this是指当前上下文的对象,同时这个上下文的对象是可以被动态的改变的(call、apply等方法),同样在原生的DOM中this指向的也是当前的html元素对象。下面看一个例子:

p.addEventListener('click',function(){
    this.style.color = 'red'  //这里的this就是当前的元素对象p
},false)
$('p').on('click',function(){
    var $this = $(this)   
    $this.css('color','red')   //将this转换为jquery对象,这样可以调用jQuery的方法和属性值。
})

查看效果:Github Page
查看源码:Github

总结:
|--this,表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法。
|--$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jQuery的方法和属性值。

上一篇 下一篇

猜你喜欢

热点阅读