第一章jQuery基础
一.jQuert简介
1.什么是jQuery
jQuery是javaScript的程序库之一,它是javaScript对象和实用函数的封装。
jQuery是继Prototype之后又一个优秀的javaScript库,是由美国人 Johh Resig于2006年创建的开源项目。
jQuery只是javaScript的程序库,只相当于它的一个子集,并不能完全取代javaScript。
2.为什么要使用jQuery
与javaScript相比,使用jQuery制作交互特效的语法更为简单,代码量大大减少,不存在浏览器兼容性的问题。
3. jQuery与其他javascript库
按照使用占比,几大javaScript库占比如下:
- jQuery (62%)
- Bootstrap (22%)
- Zepto (6%)
- Ext (5%)
- YUI (5%)
4. jQuery的用途
1) 访问和操作DOM元素
使用jQuery可以很方便的获取和修改页面中的制定元素,无论是删除、移动还是复制元素,jQuery都提供了一套方便快捷的方法。
2) 控制页面样式
通过引入jQuery,开发人员可以很快捷的控制页面的CSS文件。
3) 对页面事件的处理
引入jQuery后,可以使页面的表现层与功能开发分离,开发者更多的关注于程序的逻辑与功效;页面设计者则侧重于页面的优化与用户的体验。
通过事件绑定机制,可以很轻松的实现两者的结合。(比如鼠标的点击事件)
4) 方便使用jQuery插件
引入jQuery后,可以使用大量的jQuery插件来完善页面的功能和效果,如jQuery UI插件库,Form插件,Validate插件等。使得原来使用javaScript代码实现起来非常困难的功能通过jQuery插件可以轻松的实现。例如:3D幻灯片就是由jQuery的Slicebox插件来实现的。
5) 与Ajax技术的完美结合
利用Ajax异步读取服务器数据的方法,极大的方便了程序的开发,增强了页面的交互,提升了用户的体验,引入jQuery后,通过内部对象或函数,加上几行代码就可以实现复杂的功能。
6) 处理了与浏览器兼容性的问题
在jQuery库里帮我们写了兼容性的代码。
5. jQuery的优势
1) 轻量级。jQuery的体积小,压缩之后,约等于100KB。
2) 强大的选择器。jQuery支持几乎所有的CSS选择器,以及jQuery有自定义特有的选择器。
3) 出色的DOM封装。jQuery封装了大量的DOM操作,使的开发者在编写DOM操作相关程序时更加得心用手。
4) 可靠的事件处理机制。jQuery的事件处理机制吸收了javaScript中事件处理函数的精华,非常的可靠。
5) 出色的浏览器兼容性。
6) 隐式迭代。使用jQuery查找相同名称(类名、表签名等)时,会返回一个结果集合,无需用户一一遍历,并且有快捷的查找所匹配的值的方法,简化了编程。
7) 丰富的插件支持。jQuery的易扩展性,吸引了来自全球的开发者来编写jQuery的扩展插件,目前已有成百上千的官方支持的插件。
6. jQuery的版本及配置
- 获取jQuery的最新版本
进入jQuery的官方网站(http://jquery.com),在页面右侧的 Download jQuery区域下载最新的版本。
- jQuery类库说明
jQuery类库一个插件分为两个版本:开发版(完整无压缩)和发布版(GZIP压缩过的版本)。
版本号为1.开头的jQuery插件才能支持IE6~IE8的兼容性。推荐的版本是:jquery-1.8.3.min.js和jquery-1.12.4.js
- jQuery的引用方式
- 页面引用(引用本地)
- 引用网络存储的,引用地址实用网络存储的绝对地址。
二.jQuery语法
1.jQuery的加载
$(document).ready(function() {
//执行的代码;
});
这种语法等同于javaScript代码:
Window.onload=function(){
//执行代码;
};
Window.onload于$(document).ready()的对比 |
||
Window.onload |
$(document).ready() |
|
执行时机 |
必须等到页面中的所有元素(图片,Flash,视频等)加载完毕后才能执行 |
页面中的所有DOM对象绘制完毕后立刻执行。 |
编写的个数 |
同一个页面不能编写多个 就算写入多个,也只会有一个效果 |
同一个页面可以编写多个 编写N个则有N次效果 |
简化写法 |
没有 |
$(document).ready(function() { //执行的代码; }); 可以简写成 $(function(){ //执行代码 } |
2.jQuery的语法结构
jQuery语句主要包含三大部分:$()、document和ready();它们在jQuery中分别称为:工厂函数、选择器和方法。
语法:$(selector).action();
1.工厂函数$()
在jQuery中,美元符号“$”等价于jQuery,即S()=jQuery()。
$()的作用是将DOM对象转换为jQuery对象,只有将DOM对象转换为jQuery对象后,才能使用jQuery的方法。
2.选择器selector
语法:$(selector);
3.方法action()
jQuery中提供了一系列的方法。在这些方法中,一类重要的方法就是事件处理方法,如许多基础的事件:鼠标事件、键盘事件和表单事件等,都可以通过事件方法进行绑定。
CSS样式操作的方法:
1) 为元素添加新的样式
语法:jQuery 对象.addClass([样式名]);
注意:样式名不用带“.”类符号,区别于选择器
2) 设置新的CSS样式属性
语法:jQuery 对象.css (“属性”,”属性值”);
jQuery 对象.css ({“属性1”:”属性1值”,”属性N ”:”属性N的值”});
3) 显示/隐藏元素
语法:$(selector).show(); //显示元素
$(selector).hide (); //隐藏元素
3.jQuery的代码风格
1.“$”的使用
在jQuery程序中,使用最多的是“$”,无论是页面元素的选择器,还是功能函数的前缀,都 必须使用该符号。它“$”等同于jQuery。
- 链式操作
对一个对象进行多重操作,而只调用一个对象。
写法:
$(“h1”).mouseover(function(){
//代码1;
}).mouseout(function(){
//代码2;
});
- 隐式迭代
在jQuery中获取一个集合后,会默认遍历内部的所有元素。
- 添加注释
A) 开发阶段:为代码添加注释,增加代码的可读性
B) 维护阶段:把关键的模块形成开发文档,便于后期的维护
C) 产品正式发布:建议删除注释,减少文件的大小,加快下载速度,提高用户的体验度。
三.jQuery对象和DOM对象
1.DOM对象
直接使用javaScript获取的节点对象就是DOM对象。
在javaScript中,使用getElementsByTagName()或getElementById()来获取元素的节点,通过该方式得到的DOM元素都是DOM对象。
2. jQuery对象
jQuery对象就是通过jQuery包装后的DOM对象后产生的对象。它能够使用jQuery的方法。
3. jQuery与DOM对象的相互转换
jQuery对象无法直接使用DOM对象的任何方法。
DOM对象也无法直接使用jQuery对象的方法。
jQuery对象名前缀带有“$”
1. jQuery对象转换成DOM对象
1) jQuery对象是一个类似数组的对象,可以通过[index]的方法得到相应的DOM对象
var $text=$(“text”); //jQuery对象
var text=$text[0]; //DOM对象
2) 通过get(index)方法得到相应的DOM对象
var $text=$(“text”); //jQuery对象
var text=$text.get[0]; //DOM对象
2.DOM对象转换jQuery对象
对于一个DOM对象,只需要使用$()函数将DOM对象包装起来,酒可以获得一个jQuery对象。
var text=document.getElementById(“text”); //DOM对象
var $text=$(text); //jQuery对象
本章总结:
- 要使用jQuery的功能,需要首先引用jQuery库文件,首先引入jQuery插件文件,再引用自己的.js文件。否则可能无法识别或编译。
- 在一个页面中使用了多个库文件,变量冲突:使用jQuery.noConflict()方法解决对变量$的jQuery的控制权,即释放jQuery对$变量的控制权。
- 使用next()方法可以获得当前元素的下一个同胞元素。
第一章jQuery基础的更多相关文章
- 第一章 jQuery基础
第一章jQuery基础 一.jQuert简介 1.什么是jQuery jQuery是javaScript的程序库之一,它是javaScript对象和实用函数的封装. jQuery是继Prototype ...
- 第一章 jQuery基础方法回顾
jQuery即JavaScript,它是一个.js文件(官网下载).使用时须将jQuery库的声明写在HTML文档的head标签里. 章节内容: 1.选择DOM节点 2.延迟的JavaScript的执 ...
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1 初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- jQuery系列 第一章 jQuery框架简单介绍
第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- UNIX环境高级编程--第一章 UNIX基础知识
第一章 UNIX基础知识 1.2 UNIX体系结构 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们将这种软件称为内核(kernel),因为 它相对较小,且 ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
随机推荐
- ZooKeeper学习第八期——ZooKeeper伸缩性(转)
转载来源:https://www.cnblogs.com/sunddenly/p/4143306.html 一.ZooKeeper中Observer 1.1 ZooKeeper角色 经过前面的介绍,我 ...
- NSCache缓存怎么来的
什么是NSCache NSCache主要用来存储临时数据(键值对),当内存资源不够时,系统会自动释放部分数据.它有三个特点: • NSCache为了保持不占用过多的系统内存,它有多种自动回收内存策略: ...
- 【Mysql】细节补充,约束、索引等
约束: 显示建表语句:show create table 表名 查询表中的约束:SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where ...
- 前端js倒计时(精确到毫秒)
话不多说,直接上代码: 有需要直接拿走, <html> <head> <style> div{ width:100%; text-align:center; fon ...
- C# 位运算及实例计算
前言: 平时在实际工作中很少用到这个,虽然都是一些比较基础的东西,但一旦遇到了,又不知所云.刚好最近接触了一些相关这方面的项目,所以也算是对 这些内容重新温习实践了一遍.所以这篇不仅作为个人备忘,也分 ...
- Java 添加、读取、删除PPT文档属性
文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...
- Flink中的状态与容错
1.概述 Flink支持有状态计算,根据支持得不同状态类型,分别有Keyed State和Operator State.针对状态数据得持久化,Flink提供了Checkpoint机制处理:针对状态数据 ...
- POJ 3318:Matrix Multiplication(随机算法)
http://poj.org/problem?id=3318 题意:问A和B两个矩阵相乘能否等于C. 思路:题目明确说出(n^3)的算法不能过,但是通过各种常数优化还是能过的. 这里的随机算法指的是随 ...
- scrapy实战4 GET方法抓取ajax动态页面(以糗事百科APP为例子):
一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取j ...
- [网络协议]TCP粘包分析
关于socket粘包,socket缓冲区设置的问题,记录一下: 一 .两个简单概念长连接与短连接: 长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送 ...