冻冻玖  

正课:

1. 什么是jQuery

2. 如何使用jQuery

3. 查找

 

1. 什么是jQuery

 第三方开发 执行DOM操作的 简化的 函数库

 第三方: 下载

 执行DOM操作: 学习jQuery,还是在学DOM

 极简化: jQueryDOM操作的终极简化: 4个方面:

   1. 增删改查

   2. 事件绑定

   3. 动画

   4. Ajax

 函数库: jQuery中一切都是函数

 为什么: 2原因:

  1. 终极简化

  2. 解决了大部分浏览器兼容性问题:

   凡是jQuery让用的,都没有兼容性问题

   如果不兼容,jQuery底层用程序模拟实现

2. 如何使用:

 3:

  1. 官网看是什么:

  2. 快速入门:

  3. 下载手册,备查:

 

 下载: 版本:

  1.x 兼容浏览器

   压缩: jquery-1.11.3.js

     具有: 完备的注释,代码格式和见名知意的变量名

     可读性好体积——开发和学习阶段使用

   压缩: jquery-1.11.3.min.js

     移除所有注释, 清除所有空字符格式,极简化变量名

     体积可读性差——生产环境

  2.x 不再兼容旧浏览器

  3.x 不兼容旧浏览器,还增加了新功能

   1. 所有代码运行在严格模式下

   2. 支持for...of,代替原有each()

   3. 动画API: requestAnimationFrame()

   4. 支持Promise

 

 引入: 2:

  1. js文件下载的项目本地

  2. 引入CDN网络中的js文件

   CDN网络内容分发网络

    根据客户端据不同服务器的网络状况,自动选择最优的服务器下载资源

 

 原理:

  引入jquery.js其实是在全局创建了一种新类型: 2部分

   1. 构造函数: 创建jQuery类型的子对象

   2. 原型对象: 保存所有jQuery类型的子对象共有API

  创建jQuery类型的子对象:

   什么是jQuery类型的子对象: 专门封装一个多个DOM元素,并提供操作DOM元素的简化版API

     本质是一个类数组对象。

   为什么: 普通DOM元素不是jQuery类型,不简化API

     只有将找到的DOM元素,放入jQuery对象中,才能使用简化版API

   何时: 只要想使用jQuery简化版API,都要先创建jQuery对象

   如何: 2:

    1. 选择器查找DOM元素,并创建jQuery对象:

     var $elems=new jQuery("selector")

       找到符合selector要求的DOM元素,创建一个jQuery类型的子对象,保存找到的DOM元素

      简化: var jQuery=function("selector"){//工厂函数

             return new 构造函数("selector")

           }// jQuery("selector") 等效于 new 构造函数()

      简化: window.jQuery = window.$ = jQuery;

           //调用$() 等效于调用jQuery()

      原型对象的简化: jQuery.fn = jQuery.prototype = {

        jQuery.fn也是jQuery类型的原型对象的别名

    2. 直接将获得的DOM元素封装jQuery对象:

      var $elem=$(dom元素对象);

 

3. 查找:

 1. 选择器查找

  jQuery支持所有CSS选择器,并扩展了部分自有的选择器

  基本选择器: 5 CSS

   #id  element   .class    *     selector1,selector2,...

  层级选择器: 4个 同CSS

   parent child   parent>sub   prev+next    prev~nextsiblings

  子元素过滤: 4 CSS

   特点: 各自元素内分别编号,从1开始

   :first-child   :last-child   :nth-child(n)   :only-child

  基本过滤(位置过滤): 7 jQuery中新增

   特点: 取出所有符合条件的元素放入一个集合中统一编号编号0开始

   :first/last    :even/odd  :eq/gt/lt(i)

  属性过滤: CSS

   [属性]

   [属性=]

   [属性名^=]

   [属性名$=]

   [属性名*=]

   [属性!=]

 

   input.txt[title=用户名]

   何时:代替class选取多个元素,添加行为

 

  可见性过滤: 2:

   :visible   :hidden(display:none   input type="hidden")

 

  内容过滤: 2:

   1. 子元素或内容的特征判断父元素:

     1. 以内容文本作为特征: :contains(text)

     2. 子元素特征:  :has(选择器)

   2. 是否子元素内容条件:

     :parent  非空

     :emty   

  表单元素过滤:

   :input   选择所有表单元素(input  select textarea  button)

   每种type都有专门的选择器:

    :text   :password   :radio   :checkbox    :file   :submit...

  状态过滤:  :enabled   :disabled    :checked  :selected

 2. 节点间关系查找:

  2大类:

  1. 父子:

   $elem.parent() 父元素

   $parent.children() 直接子元素

   $parent.children().first()

   $parent.children().last()

  2. 兄弟:

   $elem.next()

   $elem.prev()

 

$elem.is("selector")  判断$elem是否符合selector选择器的要求

$elem.show()/hide()  代替display="block"/"none"

 

$elem.css("CSS属性名","属性")  style.css属性=

$elem.html("内容")   innerHTML="内容"

 

jQuery API三大规律:

 1. 自带遍历: 整个jQuery对象调用API等效于对其中每个DOM元素都调用一次API

 2. 一个函数两用: 新值,就修改。没给新值,就返回旧值

 3. 返回当前正在操作的jQuery对象本身

 

posted on 2018-05-12 11:09  醉里挑灯看码  阅读(195)  评论(0编辑  收藏  举报