JQUERY-定义-查找
正课:
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-定义-查找的更多相关文章
- jQuery的查找
children([expr])概述 :取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合.可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而child ...
- jquery zTree 查找所有的叶子节点
jquery zTree 查找所有的叶子节点 // 保存所有叶子节点 10 为初始化大小,并非数组上限 var arrayObj = new Array([10]); /* treeNode: 根节点 ...
- 利用js和JQuery定义一个导航条菜单
利用js和JQuery定义一个导航条 效果: 一.html代码: <div class="Maintenance"> <div class="Title ...
- 在jQuery定义自己函数
刚才有学习<在jQuery定义自己的扩展方法函数>http://www.cnblogs.com/insus/p/3415312.html .现在想练习一下定义自定义函数.经重构之后,还是发 ...
- JQuery中查找父元素,子元素,追加元素,插入元素和删除元素 及其他常用方法
Jquery之所以强大,和其在获取对象时使用与css选择器兼容的语法有很大关系.而且它还兼容了CSS3的选择器,而且多出了不少. 所以jQuery的选择器也就变得很多很强大.就最基本的有以下四个: $ ...
- js进阶 11-19 jquery如何查找选择器的第一个父亲元素和第一个定位的父元素
js进阶 11-19 jquery如何查找选择器的第一个父亲元素和第一个定位的父元素 一.总结 一句话总结:closest()方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上.of ...
- js进阶 11-16 jquery如何查找元素的父亲、祖先和子代、后代
js进阶 11-16 jquery如何查找元素的父亲.祖先和子代.后代 一.总结 一句话总结:过滤或者查找的方法里面可以带参数进行进一步的选择. 1.parent()和parents()方法的区别是什 ...
- jQuery元素查找方式
jQuery常用的元素查找方法总结 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...
- jquery元素查找方法集锦
jQuery常用的元素查找方法总结 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...
- jquery元素查找方法
$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div&q ...
随机推荐
- NAP(Network Access Protection)
- go.cd 自动化构建
go.cd 自动化构建 go.cd 官网 go.cd 文档 go.cd安装 go.cd server go.cd agent go.cd 依赖jdk1.8.可以使用openjdk1.8,也可以使用or ...
- python网络爬虫学习笔记(一)Request库
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...
- Kafka和的安装与配置
本文主要介绍Kafka的安装与配置: 集群规划 datanode1 datanode2 datanode3 zk zk zk kafka kafka kafka kafka jar包下载地址 http ...
- javaee_正则表达式基础和常用表达式
正则基础: 1.1 -字符集 [ ] : 代表单个字符. [^] : 除了该字符外的所有单个字符. [a-zA-Z] : [a-z] || [A-Z]. [a-d[m-p]] :[a, d] || [ ...
- Selenium IDE录制脚本时弹出窗口的完美处理
很多朋友录制脚本时新打开弹出窗口后无法定位元素,我也遇到同样的问题,国内没有什么好的资料,于是就阅读英文,不断尝试,感觉那个selectWindow(title)什么就是个坑,我用这种方法成功处理后得 ...
- python大法好—模块 续
1.sys模块 sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaulten ...
- HTML5-canvas1.0
HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图形容器,您必须使用脚本来绘制图形.你可以通过多种方 ...
- django毕设之路1.0
Django的核心理念 1.更python化 2.DRY:(don't repeat yourself),不做重复的工作 3.松耦合和灵活 4.快速开发 2.Django的MTV概 M:Model模型 ...
- VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...