正课:

1. 什么是jQuery

2. 如何使用jQuery

3. 查找

1. 什么是jQuery

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

第三方: 下载

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

极简化: jQuery是DOM操作的终极简化: 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对象本身

JQUERY-定义-查找的更多相关文章

  1. jQuery的查找

    children([expr])概述 :取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合.可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而child ...

  2. jquery zTree 查找所有的叶子节点

    jquery zTree 查找所有的叶子节点 // 保存所有叶子节点 10 为初始化大小,并非数组上限 var arrayObj = new Array([10]); /* treeNode: 根节点 ...

  3. 利用js和JQuery定义一个导航条菜单

    利用js和JQuery定义一个导航条 效果: 一.html代码: <div class="Maintenance"> <div class="Title ...

  4. 在jQuery定义自己函数

    刚才有学习<在jQuery定义自己的扩展方法函数>http://www.cnblogs.com/insus/p/3415312.html .现在想练习一下定义自定义函数.经重构之后,还是发 ...

  5. JQuery中查找父元素,子元素,追加元素,插入元素和删除元素 及其他常用方法

    Jquery之所以强大,和其在获取对象时使用与css选择器兼容的语法有很大关系.而且它还兼容了CSS3的选择器,而且多出了不少. 所以jQuery的选择器也就变得很多很强大.就最基本的有以下四个: $ ...

  6. js进阶 11-19 jquery如何查找选择器的第一个父亲元素和第一个定位的父元素

    js进阶 11-19 jquery如何查找选择器的第一个父亲元素和第一个定位的父元素 一.总结 一句话总结:closest()方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上.of ...

  7. js进阶 11-16 jquery如何查找元素的父亲、祖先和子代、后代

    js进阶 11-16 jquery如何查找元素的父亲.祖先和子代.后代 一.总结 一句话总结:过滤或者查找的方法里面可以带参数进行进一步的选择. 1.parent()和parents()方法的区别是什 ...

  8. jQuery元素查找方式

    jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...

  9. jquery元素查找方法集锦

    jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...

  10. jquery元素查找方法

    $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div&q ...

随机推荐

  1. TypeScript type 类型别名

    //6,类型别名 /**类型别名不能出现在声明右侧的任何地方. * 接口 vs. 类型别名 * 另一个重要区别是类型别名不能被extends和implements(自己也不能extends和imple ...

  2. 安卓打开远程调试(免root)

    首先用数据线连接adb,在pc端执行: adb tcpip 5555 然后就能拔掉数据线了. pc执行这个: adb connect 172.19.208.2 就能连接上

  3. kubernetes学习笔记之十二:资源指标API及自定义指标API

    第一章.前言 以前是用heapster来收集资源指标才能看,现在heapster要废弃了从1.8以后引入了资源api指标监视 资源指标:metrics-server(核心指标) 自定义指标:prome ...

  4. swift kvc赋值

    1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的(运行时获取不到属性),而且要设置初始值,否则KVC会崩溃 3使用 ...

  5. javascript权威指南第1章Js概述js语言核心

    <html> <head> <script> function Point(x,y){ this.x=x; this.y=y; } ,); console.log( ...

  6. 如何创建.gitignore文件,忽略不必要提交的文件

    1.gitignore 在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的.对于这些文件应该对于Github来讲是透明的.Github提供这种功能,可以自己指定哪些文件 ...

  7. SQL Server中多表连接时驱动顺序对性能的影响

    本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  8. tomcat双击startup.bat启动时闪退

    tomcat之前用的好好地没有问题,今天重启一下就发现双击startup.bat一闪而过,接着就没有任何动静了,tomcat无法启动啦? 于是网上搜了一堆tomcat闪退的解决办法,其中有说是没有读取 ...

  9. 坑之mysql 字符串与数字操作

    select "123"+1 = 124; select "1a23"+1 = 2; select "aa23"+1 = 1; select ...

  10. selenium之 chromedriver与chrome版本映射表(转载)

    chromedriver版本 支持的Chrome版本 v2.34 v61-63 v2.33 v60-62 v2.32 v59-61 v2.31 v58-60 v2.30 v58-60 v2.29 v5 ...