jQuery基础-jQuery对象和DOM对象

1、jQuery对象转化成DOM对象

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

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

  • HTML代码
<div>1</div>
<div>2</div>
<div>3</div>
  • JavaScript代码
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的方法啦

  • HTML代码
<div>1</div>
<div>2</div>
<div>3</div>
  • JavaScript代码
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绑定一个点击事件
p.addEventListener('click',function(){
    this.style.color = 'red'  //这里的this就是当前的元素对象p
},false)
  • jquery的处理方法
$('p').on('click',function(){
    var $this = $(this)   
    $this.css('color','red')   //将this转换为jquery对象,这样可以调用jQuery的方法和属性值。
})

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,451评论 0 44
  • 第一章 jQuery简介 1-1 jQuery简介 1.简介 2.优势 3.特性与工具方法 1-2 环境搭建 进入...
    mo默22阅读 1,608评论 0 11
  • jQuery基础(一)——样式篇 1-2环境搭建 1-3 jQuery HelloWorld体验 $(docume...
    croyance0601阅读 1,105评论 0 8
  • 第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...
    mo默22阅读 833评论 0 8
  • 这个文档的目的是为您提供一个对Perl 6 编程语言的简要概述,对于刚开始接触Perl 6 的人来说,该文档可以让...
    暂时是E0阅读 363评论 0 1