Web前端基础——jQuery(一)
前几天回老家呆了几天,几乎没有怎么学习新的知识,这期间一直有断断续续的看《Java编程思想》,还刷了一些前沿消息,也算没闲着。今天开始学习jQuery啦,继续前进。
在网上查了,买了这本书。现在是一边搜视频,一边看这本书。

认识jQuery,我将从以下几方面进行讲解。
一、JavaScript和JavaScript库
随着Web 2.0的兴起,JavaScript受重视的程度提高,带动JavaScript程序库也蓬勃发展起来。
过程:Prototype—>Dojo—>jQuery—>Ext Js
JavaScript自身存在的3个弊端(摘录自 锋利的jQuery):
1.复杂的文档对象模型(DOM)
2.不一致的浏览器实现和便捷开发
3.调试工具的缺乏
二、JavaScript库作用及对比
为了简化JavaScript的开发,JavaScript程序库诞生了,这就像Java封装了一些工具类的目的是差不多的。JavaScript程序库封装了很多预定义的对象和实用函数,能帮助使用者轻松地建立有高难度交互的Web 2.0特性的富客户端页面,并且兼容各大浏览器。
1、Prototype
Prototype可以看作是把很多好的有用的JavaScript的方法组合在一起形成的JavaScript库。使用者可以在需要的时候随时将其中的几段代码抽出来放自己的脚本里。但是由于Prototype成型年代较早,从整体上对面向对象的编程思想把握得不是很到位,导致其结构的松散。不过,现在也在慢慢改进。
2、Dojo
Dojo的强大之处在于它提供了很多其他JavaScript库所没有提供的功能。功能很强大,得到如IBM、SUN和BEA等一些大公司的支持。但是Dojo的缺点也是很明显的:学习曲线陡,文档不齐全,最严重的是API不稳定,每次升级都有可能导致已有的程序失效。也在慢慢改进中。
3、YUI
YUI(Yahoo!UI,The Yahoo!User Interface Library),是由Yahoo公司开发的一套完备的扩展性良好的富于交互页面程序工具集。YUI封装了一系列比较丰富的功能,例如DOM操作和Ajax应用等,同时还包括几个核心的CSS文件。文档完善,代码规范。
4、Ext JS
Ext JS简称Ext,如今已经发展到可以用包括jQuery在内的多种JavaScript框架作为基础库,而Ext作为界面的扩展库来使用。Ext可以用来开发富有华丽外观的富客户端应用,能使B/S应用更加具有活力。但是由于Ext侧重于页面,本身计较臃肿。有时还并不是免费的。
5、MooTools
MooTools是一套轻量、简洁、模块化和面向对象的JavaScript框架。Mootools的语法几乎和Prototype一样,但却提供了更为强大的功能、更好的扩展性和兼容性。其模块化思想非常优秀,核心代码只有8KB。可实现即使导入。另外,MooTools完全彻底的贯彻了面向对象的编程思想,语法简洁直观,文档完善。
6、jQuery
轻量级的库,拥有强大的选择器、出色的DOM操作。、可靠的事件处理、完善的兼容性和链式操作等功能。
jQuery凭借简洁的语法和跨平台的兼容性,极大的简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax的操作。代码风格独特而优雅。
三、jQuery的优势
1、轻量级
2、强大的选择器
3、出色的DOM操作的封装
4、可靠的事件处理机制
5、完善的Ajax
6、不污染顶级变量
7、出色的浏览器兼容性
8、链式操作方式
9、隐式迭代
10、行为层与结构层的分离
11、丰富的插件支持
12、完善文档
13、开源
四、jQuery代码的编写
1.进入jQuery的官方网站http://jquery.com/,下载最新的jQuery库文档。
2.jQuery库类分为两种:生产版(最小化和压缩版)和开发版(未压缩版)。
| 名称 | 大小 | 说明 |
| jquery.js(开发版) | 约229 KB | 完整无压缩版本,主要用于测试、学习和开发 |
| jqusery.js(生产版) |
约31 KB |
经过工具压缩或经过服务器开启Gzip压缩 主要应用于产品和项目 |
3.jQuery不需要安装,把下载的jQuery.js放到网站上的一个公共的位置,想要用的jQuery的时候,只需要在相关的HTML文档中引入该库类文件的位置即可。
五、编写简单的jQuery代码
首先明确,在jQuery库中,$就是jQuery的一个简写形式。
比如:
$("#foo") 等价于jQuery("#foo")
$.ajax等价于jQuery.ajax
//页面加载的时候,执行一段代码
//旧的写法
$(document).ready(function (){
alert("ok");
}); //新的写法
$(function(){
alert("页面加载了");
}); //也可以这样写的
jQuery(function() {
alert("加载了");
});
上面的$(document)这个操作,是将一个dom对象,转成了一个jquery对象
思考:
它和 过去学的 onload 有什么区别?
// 过去的 onload
window.onload=function(){
alert("页面加载了");
}
1) jquery的写法可以累计注册,不象load那样覆盖 这样可以保证写类库的时候不刷掉别人的
window.onload=function(){
alert("onload一被调用了");
}
window.onload=function(){
alert("onload 二被调用了");
}
//这面的写法,只会执行到一个,如果是jquery,则两个都会秇行
2) onload是在所有Dom元素创建完毕,图片,Css等都加载后才能触发 而ready则只在dom 创建后就触发。jQuery 也可以实现 onload那种事件的调用时机。
$(window).load(function(){
alert("类似onload方式的调用");
});
例子:
1.鼠标离开的时候,加个处理事件
<input type="text" name="userName" id="userName" /><label id="userName_msg"></label>
$(function(){ $("#userName").blur(function(){
$("#userName_msg").html("请输入姓名,中文,3-9个字");
$("#userName_msg").css('color',"red");
}); });
2.元素的显示和隐藏
<a href="#" id="hrefMenu">显示子菜单</a>
<div id="divSubMenu">
北京<br>
上海<br>
广州<br>
深圳<br>
宁波<br>
哈尔滨<br>
</div> $(function(){
$("#hrefMenu").click(function(){
//$("#divSubMenu").toggle("slow"); toggle 用于状态的切换
//$("#divSubMenu").toggle(5000);
});
})
Web前端基础——jQuery(一)的更多相关文章
- web前端基础——jQuery编程基础
1 jQuery简介 jQuery是一个兼容多浏览器的JavaScript库,核心理念是write less,do more(写得更少,做得更多).它对JavaScript进行了封装,使开发更便捷,并 ...
- web前端基础——jQuery编程进阶
1 jQuery本质 jQuery不是一门独立的语言,它是JavaScript的一个类库或框架.jQuery的核心思想就是:选取元素,对其操作.很多时候写jQuery代码的关键就是怎样设计合适的选择器 ...
- Web前端基础——jQuery(三)
本文主要从以下几方面介绍jQuery应用中的内容: 1 jQuery 节点遍历2 jQuery 中的过滤器3 jQuery 属性操作4 jQuery Dom节点操作5 几个jQuery例子6 jQue ...
- Web前端基础——jQuery(二)
一.jQuery 中的常用函数 1) $.map(Array,fn); 对数组中的每个元素,都用fn进行处理,fn将处理后的结果返回,最后得到一个数组 //因为这些操作,没有与dom元素相关的,所以可 ...
- 进击的Python【第十六章】:Web前端基础之jQuery
进击的Python[第十六章]:Web前端基础之jQuery 一.什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多&quo ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- Python web前端 09 jQuery
Python web前端 09 jQuery 一.三个重要网址 http://jquery.cuishifeng.cn/ #中文查询网站 http://www.bootcdn.cn/ #引入jq ht ...
- 进击的Python【第十五章】:Web前端基础之DOM
进击的Python[第十五章]:Web前端基础之DOM 简介:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示 ...
- 进击的Python【第十四章】:Web前端基础之Javascript
进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...
随机推荐
- 学以致用二十八-----win10安装mysql5.7.24及卸载
1.在windows环境下安装mysql,需要下载相对应的版本. ------------------------> 这里我下载的是mysql-5.7.24-win64.zip 2.下载后解压, ...
- EventTrigger动态添加监听事件
在 Unity3D 中,通过拖拽的方式在 EventTrigger 组件中添加监听事件就不多说了,很简单.这里主要说的是通过代码动态往 EventTrigger 组件中添加监听事件,有个很坑的地方,就 ...
- 提取日志中出现的userId或其他信息
项目上线后经常出现需要统计用户数据.接口请求等.完美的情况下,在项目开始前就设计好哪些request.中间过程需要落地到db.或以一定格式存入专门的log中,但也常需要同学们临时去业务日志中grep ...
- Oracle DBLINk的使用
Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象,例如我们新建了一个数据database1,我们需要操作 ...
- Delphi - TDateTimePicker使用注意问题
TDateTimePicker使用时候,如果想获取到修改后的值,必须注Kind和time属性必须对应! 1,时间设置: treatmentTime1DTPicker.Kind := dtkTime; ...
- javascript-浏览器消息提醒
如何让用户在浏览器最小化的状态下也能及时的收到消息提醒呢? 这个问题作为webRd是要正面面对的. 大约可分两种场景:一种是类似桌面通知的形式还有一种是类似QQ提醒(在系统任务栏闪烁随后高亮);接下来 ...
- JavaScript中JSON对象和JSON字符串的相互转化
一.JSON字符串转换为JSON对象 var str = '{"name":"cxh","sex":"man",&quo ...
- 使用 Maven 插件将 class(字节码文件),resource(资源文件),lib(依赖的jar包)分开打包
1. 在pom文件中对各个插件进行配置 <?xml version="1.0" encoding="UTF-8"?> <project xml ...
- Spring Boot发布将jar包转为war包。
Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布.使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题.所以,jar包不一定 ...
- javascript 异步解析
js 异步解析 一 .js单线程分析 我们都知道js的一大特点是单线程,也就是同一时间点,只能处理一件事,一句js代码.那为什么js要设计成单线程而不是多线程呢?这主要和js的用途有关,js作为浏览器 ...