jQuery学习之开篇
吐槽
近期比較烦,对于一个前端白痴来说,工作方向突然转向前端这块着实让人蛋疼无比。前段时间简单的学习了下EasyUI,算是对其有一个简单的认知了吧。EasyUI的研究过程中发现,假设没有掌握JS、JQuery想要进行兴许的开发会很困难。得,又得学下JQuery,一种蛋蛋的忧伤。一直觉得前端的水很的深这段时间算是见识到了,哎,只是工作还的继续,吐槽完了,卯足干劲充电吧!
前言
某前端白痴一个,会点html+css+js.JQuery的学习书籍看的是《瑞丽的JQuery》,先入门看了两章,感觉能看懂,还不错。
日后的学习也就打算採用该书了。当然參考网络上的一些博客文章(独立博客)也是十分必须的。
认识JQuery
JavaScript
认识JQuery之前,有必要了解下javascript。
一种脚本语言,使得网页和用户之间实现了一种实时的、动态的和交互的关系,网页中包括了很多其它的交互性的元素。
其强大之处不用我这菜鸟再做赘述。只是其本身存在的一些弊端也就造成了兴许js库的产生。基本的三大弊端:
- 复杂的文档对象模型(DOM)
- 不一致的浏览器实现
- 缺乏便捷的开发、调试工具
基于javascript上述的缺点,为了简化js的开发一些javascript库诞生了。
js库封装了非常多提前定义的对象和有用函数.能更加高速、便捷的建立页面交互元素。
这里对于有哪些js库就不再多谈了,重点了解下JQuery,这也是自己兴许学习的重点。
JQuery
一个很优秀的javascript库,对于js性能的理解也是十分的到位的。
现现在在javasript渐渐隐去时(表喷我),JQuery也越发的受欢迎了。
JQuery凭借简洁的语法和跨平台的兼容性,极大地简化了js开发人员遍历HTML文档、操作DOM、处理事件、运行动画和开发Ajax的操作。其独特而又优雅的代码风格改变了javascript开发人员设计思路和编敲代码的方式。
JQuery的主旨就是"wirte less do more",写更少的代码,实现很多其它的功能。
不管你是网页设计师、后台开发人员、业余爱好者还是项目管理者,也不管是javascript刚開始学习的人还是javascript高手,都有足够的理由去学习JQuery。
JQuery的优势
jq强调的理念就是"wirte less,do more"。jq独特的选择器、链式的DOM操作、事件处理机制和封装完好的Ajax都是其它js库所不能达到的。
概括来说jq的优势大致分为例如以下几个方面:
(1) 轻量级
jquery是很轻巧的,採用Dean Edwards编写的Packer(http://dean.edwards.name/packer/)压缩后,大小不到30kb。假设使用Min版本号而且在server端启用Gzip压缩后,大小仅仅有18kb。
(2) 强大的选择器
jqery同意开发人员使用从css1到css3差点儿全部的选择器,以及jquery独创的高级并且复杂的选择器。
(3) 出色的DOM操作的封装
jquery封装了大量经常使用的DOM操作,使开发人员在编写DOM操作相关程序时候可以得心应手。
jquery轻松的完毕各种原本很复杂的操作,使得js菜鸟也能写出出色的程序。
(4) 可靠的事件处理机制
jquery的事件处理机制吸收了javascript专家Dean Edwards编写的事件处理函数的精华,使得jquery在处理事件绑定的时候相当可靠。
在预留退路、循序渐进以及非入侵编程思想方面,jquery也做的很不错。
(5) 完好的Ajax
jquery将全部的Ajax操作封装到一个函数$.ajax()里,使得开发人员处理ajax的时候可以专心的处理业务逻辑而无需关心浏览器兼容性和XMLHttpRequest对象的创建和使用的问题。
(6) 不污染顶级变量
jquery仅仅是建立了一个名为jquery的对象,器全部的函数都是在这个对象之下的。
其别名也能够随时交出控制权,不会污染其它变量,这使得jquery能够与js和其它js库共存,在项目中放心的引用而不须要考虑到后期可能的冲突。
(7) 出色的兼容性
作为一个流行的js库,jquery的浏览器兼容性也是十分良好的。
(8) 链式操作
对发生在同一个jq对象上的一组动作,能够直接连写而无需反复获取对象。这样的链式操作方式使得jq的代码无比优雅。
并且无需反复获取对象使得性能得到提升(选择器获取对象是比較消耗性能的)。
(9) 隐式迭代
当用jq找到带有".class"类的所有元素,隐藏它们时,无需编写循环遍历每个返回的元素。jq里面的方法都是被设计成自己主动操作对象的集合,而不是单独的对象,这使得大量的玄幻结构变得不再必要,优化了代码量。
(10) 行为层与结构层的分离
开发者能够使用jqery选择器得到元素,然后直接给元素加入事件。这样的将行为层与结构层全然分离的思想,使得jquery开发者页面开发者各司其职,避免了一些不必要的冲突,同一时候也便于后期的维护,不须要再html代码中寻找某些寒素和反复改动html代码。
(11) 丰富的插件支持
jquery是easy扩展的,这使得基于jquery的开源插件越来越懂,也越来越好,借助于一些开源的插件,可以高速的构建交互性较强的应用。
(12) 开源。
jquery是一个开源的产品,不论什么人都能够自由的使用并提出改进意见。开源使得一个产品更加具有活力,也会促进一个产品的不断改进,同一时候一些新的灵感和idea也将促进产品的深化。
有理由相信开源的JQuery会越来越受欢迎。
JQuery牛刀小试
简单的了解了下jquery接下来简单的尝试下jquery吧。
JQuery环境
1、获取jquery
进入jquery官网:http://jquery.com/,下载最新的jquery库。
2、jquery库类型说明
在正式的编写代码之后,有必要了解下jquery库的两种类型:JQuery xxx.min.js(Minified and Gzipped) 和 JQuery xxx.js(Uncompressed)
前者是经过JSMin等工具进行压缩后的版本号,大小为54kb,假设server开启Gzip压缩之后,大小将进一步减小为18kb。主要用户产品和项目。
后者是完整无压缩版本号,主要用户測试、学习和开发。
3、JQuery环境配置
jquery无需安装,仅仅需解压到相关目录中,开发的时候在html页面中引入该.js文件就可以。
JQuery入门
一个简单的样例:点击某个div实现隐藏该div,和原生js进行比較,代码例如以下:
<html>
<title>JQuery学习入门</title>
<script src="js/jquery-1.9.1.js"></script>
<head>
<style>
.div {
background: #58c3d6;
text-decoration-line: none;
text-align: center;
line-height: 60px;
color: #ffffff;
height: auto;
}
</style>
<script>
/**通过JQuery库来实现隐藏DIV*/
$(document).ready(function() {
$("#div").click(function() {
$(this).hide();
});
}); /*通过原生js实现DIV的隐藏、显示*/ function toggle(targetId) {
var target = document.getElementById(targetId);
if (target.style.display == 'block') {
target.style.display = "none";
} else {
target.style.display = "block";
}
}
</script>
</head> <body> <button onclick="toggle('div')">开关</button>
<div class="div" id="div">点我隐藏</div> </body> </html>
实际的效果这不贴图了,能够看出的是jq相比較js获取元素的方式更为的简单快捷了,JQuery的后缀query本来就是查询的意思,这也许就是jquery名字的由来呢。
简单的了解了JQuery,也算对jquery有了一个认知吧,兴许的就是一些知识点的积累了,OVER!
jQuery学习之开篇的更多相关文章
- [翻译svg教程]svg学习系列 开篇
目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- jquery学习(一)
简单的jquery学习,首先在页面引入jquery <!-- 引入jquery --> <script src="js/jquery-1.8.3.js" type ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记(一):入门
jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- 很不错的jQuery学习资料和实例
这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...
- 【Head-First设计模式】C#版-学习笔记-开篇及文章目录
原文地址:[Head-First设计模式]C#版-学习笔记-开篇及文章目录 最近一年断断续续的在看技术书,但是回想看的内容,就忘了书上讲的是什么东西了,为了记住那些看过的东西,最好的办法就是敲代码验证 ...
随机推荐
- 3-4 第三天 Generator生成器
Generator是ES6里面的新增规范,ES6其实就是ES2015.ES5.ES6.ES7这些术语大家上网一查就都明白了.JavaScript是一个范程,就是我们说的JS.ES就是ECMA Scri ...
- fsockopen get,post 封装 (转)
function http_request($url, $method = 'GET', $postfields = NULL, $headers = array()) { $parse = pa ...
- PCB 全景图技术实现
为了对3D模型理解更透,这里采用threejs(WebGL第三方库)实现,刚开始学习入门,为了能看明白基本上每行代码都注释. 如果仅仅是为了实现全景图,可以用photo-sphere-viewer.j ...
- simpleOS 1.0
做了一个so simple的OS,本不好意思多说的....不过还是说下吧. 首先,买不起开发板的我没有办完完成一件事,那就是保存任务上下文,因为这个过程实际上是将寄存器的值存放到任务堆栈中去的. 而要 ...
- Python 43 视图 、sql注入问题 、事务 、存储过程
一:视图 1 视图是什么? 本质是一张虚拟的表,他的数据来自select语句 创建视图 create view test_view select *from t1; 2 有什么用? 原表安全 案例: ...
- B - IQ test
Problem description Bob is preparing to pass IQ test. The most frequent task in this test is to find ...
- facade 模式和gateway模式的区别
原文:http://stackoverflow.com/questions/4422211/what-is-the-difference-between-facade-and-gateway-desi ...
- windows服务安装错误 在‘安装’过程发生异常:System.ComponentModel.Win32Exception:系统正在关机
今天安装windows服务的时候先是在本地安装测试通过,但是一到服务器就一直安装失败 在‘安装’过程发生异常:System.ComponentModel.Win32Exception:系统正在关机 然 ...
- C# html生成PDF遇到的问题,从iTextSharp到wkhtmltopdf
我们的网站业务会生成一个报告,用网页展示出来,要有生成pdf并下载的功能,关键是生成pdf. 用内容一段段去拼pdf,想想就很崩溃,所以就去网上找直接把html生成pdf的方法. 网上资料大部分都是用 ...
- Android Retrofit 2.0文件上传
Android Retrofit 实现(图文上传)文字(参数)和多张图片一起上传 使用Retrofit进行文件上传,肯定离不开Part & PartMap. public interface ...