jQuery简介

什么是jQuery

jQuery是js的一个函数库,其中的代码也就是普通的js,不是新的东西!!

write less,do more 写的更少,做的更多

为啥要使用jQuery

  • 释放自己的记忆 用更简介的方法替代原生dom接口
  1. document.getElementById() -> $('选择器')
  • 积累丰富的插件库,极大简化了JavaScript的开发
  • 兼容性低版本的浏览器,同时兼容移动端(适配)
    版本升级到了3.x 2.x 更适用于移动端 pc 1.x 1.11.3
  • jQuery是前端发展的必经之路 $

zepto 轻量级的jQuery

  • 祛除了兼容移动端的代码
  • 一部分的方式实现与jQuery不相同
  • 部分公司会自行封装zepto

学习jQuery注意点

  • jQuery只是一个辅助工具,不能替代js,在一些项目中可能二者并存
  • 学会使用,学会中心思想
  • 按需学习
  • 学会查文档 api

jQuery使用

  1. 引入jQuery库 引入一个js文件
    官网 :jquery.com
    中文:jquery123.com
    cdn官网中查找jquery 1.xx
  2. 版本
    压缩 compress 减少服务器的请求压力
    未压缩版:uncompress 开发过程中使用

使用

$() 从jquery中抛到全局window中的函数 等同于jQuery函数

$() 执行后会返回一个jquery对象 去调用jquery上的方法

  1. $ === jQuery // true

参数的类型

  1. css中的选择器

.
div
div>li
[type=’text’]

  1. 原生dom节点
  1. $(div) ->jquery对象
  1. null undefined “” 容错机制
  2. jquery中独有选择器
  • :first :第一个
  • :last :最后一个
  • :odd :ul>li 得到的jquery对象中的下标为奇数li
  • :even :ul>li 得到的jquery对象中的下标为偶数li
  • :eq() :筛选出jquery对象与下标与参数一致的元素
  1. 两个参数
  2. 选择器
  3. context:父级选择器
  4. 函数

函数中的代码会等到文档解析完成后执行,等同于触发DOMContentLoaded事件

  1. script>
  2. $(function fn() {
  3. // 文档解析完成后 再执行函数中的代码
  4. })
  5. $(document).ready(function () {
  6. // 文档解析完成后 再执行函数中的代码
  7. })
  8. // 文档解析完成 DOMContentLoaded js唯一一个大写 10遍
  9. // onload complete:状态
  10. // window.onDOMContentLoaded = fn;
  11. window.addEventListener('DOMContentLoaded', fn);
  12. // onload 和 $(document).ready的区别?
  13. // 1. onload是在资源下载完成后触发,document.ready是在文档解析完成后触发
  14. // 2. onload是原生js中的监听事件 document.ready是jquery中的方法
  15. </script>

jq对象与原生节点的转换,获取与不同

  1. <script>
  2. // 获取:原生
  3. var odiv = document.getElementsByTagName('div')[0];
  4. // div.innerHTML = '宋涛';
  5. // 获取:jQuery
  6. var jdiv = $('div'); // 返回一个对象 不是原生的dom节点 jquery对象 可以调用jquery原型上的所有的方法
  7. // div.html('songtao');
  8. // jquery对象能不能调用原生js的方法 不ok
  9. // jdiv.innerHTML = '宋涛'
  10. // 原生div能不能调用jquery上面的方法 报错
  11. // odiv.html('songtao')
  12. // 用jquery对象->调用js方法 转换为原生dom
  13. // jdiv[0].innerHTML = 'songjiangtao';
  14. // 原生dom节点 -> jq方法 原生转换为jq 参数之一 原生的dom节点
  15. $(odiv).html('songjiangtao');
  16. </script>

image.png
通过下标将jq对象转换成了原生节点

jq与原生的不同

  1. jquery实例方法会对jquery对象进行遍历
  2. 参数容错 不会阻塞代码执行

主要特征

  1. 循环操作:循环获取到的对象进行操作
  2. 链式调用:操作完成后返回被操作的对象
  3. 选择元素:强大的选择器