\(jQuery\)概述

\(JavaScript\)

仓库:可以把很多东西放到这个仓库里面。找东西只需要到仓库里面查找就可以了。
\(JavaScript库\):即library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画\(animate、hide、show\),比如获取元素等。
简单理解:就是一个js文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效地使用这些封装好的功能了。
比如\(jQuery\),就是为了快速方便地操作\(DOM\),里面基本都是函数(方法)。

常见的\(JavaScript\)

  • \(jQuery\)
  • \(Prototype\)
  • \(YUI\)
  • \(Dojo\)
  • \(Ext JS\)
  • \(移动端的zepto\)

这些库都是对原生\(JavaScript\)的封装,内部都是用\(JavaScript\)实现的,目前主要学习的是\(jQuery\)

\(jQuery\)的概念

\(jQuery 是一个快速、简洁的JavaScript库,其设计的宗旨是“write Less, Do More”,即倡导写更少的代码做更多的事情。\)

\(j就是JavaScript; Query查询;意思就是查询js,把js中的DOM操作做了封装,我们可以快速地查询使用里面的功能。\)

\(jQuery封装了JavaScript常用的功能代码,优化了DOM操作、事件处理、动画设计和Ajax交互。\)

\(学习jQuery本质:就是学习调用这些函数(方法)。\)

\(jQuery出现的目的是加快前端人员的开发速度,我们可以非常方便地调用和使用它,从而提高开发效率。\)

\(jQuery\)的优点

  • 轻量级。核心文件才几十\(kb\),不会影响页面的加载速度
  • 跨浏览器编程。基本兼容了现在主流的浏览器
  • 链式编程、隐式迭代
  • 对事件、样式、动画支持,大大简化了\(DOM\)操作
  • 支持插件扩展开发。有丰富的第三方插件,例如:树形菜单、日期控件、轮播图等。
  • 免费、开源

\(jQuery\)的入口函数

$(function(){
    ... // 此处是页面DOM加载完成的入口
});
$(document).ready(function(){
    ... // 此处是页面DOM加载完成的入口
});
  1. 等着\(DOM\)结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,\(jQuery\)帮我们完成了封装。

  2. 相当于原生\(js\)中的DOMContentLoaded

  3. 不同于原生的\(js\)中的load事件是等页面文档。外部的\(js\)文件、\(css\)文件、图片加载完毕才执行内部代码。

\(jQuery\)的顶级对象

  1. $是 \(jQuery\) 的别称,在代码中可以使用 \(jQuery\) 代替 ,但一般为了方便,通常都直接使用 $.

  2. $是\(jQuery\)的顶级对象,相当于原生\(JavaScript\)中的\(window\)。把元素利用$包装成\(jQuery\)对象,就可以调用\(jQuery\)方法。

\(jQuery\)对象和\(DOM\)对象

  1. \(用原生JS获取来的对象就是DOM对象\)

  2. \(jQuery方法获取的元素就是jQuery对象。\)

  3. \(jQuery对象本质是:利用\$对DOM对象包装后产生的对象(伪数组形式存储)。\)

\(jQuery\)对象和DOM对象

\(DOM对象与jQuery对象之间是可以相互转换的。\)

\(因为原生js比jQuery更大,原生的一些属性和方法jQuery没有进行封装,想要使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。\)

  1. DOM对象转换为jQuery对象:$(DOM对象)
$('div')
  1. jQuery对象转换为DOM对象(两种方式)
$('div')[index] // index是索引号
$('div').get(index) // index是索引号