吐槽

近期比較烦,对于一个前端白痴来说,工作方向突然转向前端这块着实让人蛋疼无比。前段时间简单的学习了下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学习之开篇的更多相关文章

  1. [翻译svg教程]svg学习系列 开篇

    目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...

  2. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  3. jquery学习(一)

    简单的jquery学习,首先在页面引入jquery <!-- 引入jquery --> <script src="js/jquery-1.8.3.js" type ...

  4. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  5. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  6. jQuery学习笔记(一):入门

      jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...

  7. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  8. 很不错的jQuery学习资料和实例

    这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...

  9. 【Head-First设计模式】C#版-学习笔记-开篇及文章目录

    原文地址:[Head-First设计模式]C#版-学习笔记-开篇及文章目录 最近一年断断续续的在看技术书,但是回想看的内容,就忘了书上讲的是什么东西了,为了记住那些看过的东西,最好的办法就是敲代码验证 ...

随机推荐

  1. hdu4405Aeroplane chess(概率与期望dp)

    Aeroplane chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  2. selenium3 + python - js处理readonly属性

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  3. js中 if不判断解决方式

    $(function() { $("#number").blur(function() { var number = $('#number').val(); var num = $ ...

  4. JavaScript学习三

    2019-05-30 20:38:50 逻辑运算符 && || ! !如果对非布尔值取反,则将会把数值变成布尔值,然后再取反 隐式类型转化 为任意的数据类型做两次非运算,既可将其转换成 ...

  5. [转]RDLC报表——动态添加列

    本文转自:http://www.cnblogs.com/pszw/archive/2012/07/19/2599937.html 前言 最近接到一个需求:在给定的数据源中,某(些)列,可能需要单独统计 ...

  6. Wireshark 、HTTPWatch、Fiddler的介绍

    一.Wireshark  <TCP/IP协议监听> Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包 ...

  7. create-react-app 中设置反向代理、项目打包资源引入路径设置及 map 文件

    1.配置反向代理 (1)porxy 配置一个代理 修改package.json文件 "proxy":"http://teng.com/website/web", ...

  8. intellij IDEA常见操作

    1.中文乱码设置:file - setting - Editor - File Encodings 设置为UTF-8 2.tomcat重新启动:Ctrl-F5,或者左上角 3.删除progect 先c ...

  9. Pull-up resistors

    1 Introduction Pull-up resistors are very common in microcontrollers or any digital logic device. Wi ...

  10. POJ 3041 - 最大二分匹配

    这道题实现起来还是比较简单的,但是理解起来可能有点困难. 我最开始想到的是贪心法,每次消灭当前小行星最多的一行或一列.然而WA了.Discuss区里已经有高人给出反例. 下面给出正确的解法 我们把行和 ...