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);
    });
    })
时间: 2024-10-15 11:57:07

Web前端基础——jQuery(一)的相关文章

Web前端基础——jQuery(三)

本文主要从以下几方面介绍jQuery应用中的内容: 1 jQuery 节点遍历2 jQuery 中的过滤器3 jQuery 属性操作4 jQuery Dom节点操作5 几个jQuery例子6 jQuery 中的事件7 jQuery 中的动态效果 一. jQuery 节点遍历 == next()   //用于获取节点之后的第一个同辈元素 注意,next() 中可以加过滤器 例如 next("div") == nextAll()  //获取节点之后的所有同辈元素(注意: 是节点之后,这一点

Web前端基础——jQuery(二)

一.jQuery 中的常用函数 1) $.map(Array,fn); 对数组中的每个元素,都用fn进行处理,fn将处理后的结果返回,最后得到一个数组 //因为这些操作,没有与dom元素相关的,所以可以不用写在 $(function(){...}); 中 var arr=[1,3,5,7,9]; arr=$.map(arr,function(item){ return item*10; }); alert(arr); [10,30,50,70,90]; //上例是将数组中的每个元素乘10,然后返

《web 前端基础到实战系列课程》

<web 前端基础到实战系列课程> 摘要: mod_expires&mod_headers可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求. 在使用之前,首先要确认一下"mod_expires"模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的"httpd.conf"设定档来处理 一.浏览器缓存原理 将该行前面的"#"字号删除

进击的Python【第十三章】:Web前端基础之HTML与CSS样式

进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n")

web前端基础知识学习网站推介

内容:一.基础知识及学习资料1. HTML入门学习:http://www.w3school.com.cn/html/index.aspHTML5 入门学习:http://www.w3school.com.cn/html5/index.asp 2. CSS入门学习:http://www.w3school.com.cn/css/index.aspCSS3入门学习:http://www.w3schools.com/css3/default.asphttp://css3-tutorial.com/ 3.

web前端基础知识总结

上个寒假总结的web前端的一些知识点给大家分享一下 1.<html>和</html> 标签限定了文档的开始和结束点. 属性: (1)  dir: 文本的显示方向,默认是从左向右 (2) lang: 表示整个文档中所使用的语言,en--英文,zh--中文 (3) version:定义创作文档的HTML的标准版本 2.<head></head>用于封装位于文档头部的其他标签 属性: (1) dir:文本的显示方向 (2)  Lang:语言信息 (3)  Prof

Web前端基础(CSS position的正确用法)

position属性的relative以及absolute的区别是什么? 任何元素的默认position的属性值都为static(静态),但我们在布局的时候也会经常用到relative(相对)以及absolute(绝对)这两种属性. 再分别介绍两种属性之前,我们一定要记住一个重要结论:如果用position来进行布局,父级元素的position属性必须为relative,而定位于父级内部某个位置的元素,最好用absolute,因为它不受父级元素padding的属性影响,当然也可以用relativ

Web前端开发——JQuery基础梳理

JQuery是由美国人John Resig于2006年创建的一个开源项目,随着人们的熟知,越来越多的程序高手加入其中, 完善和壮大其项目内容:如今已发展成为JavaScript.CSS.DOM.AJAX于一体的强大框架体系.jQuery是一个兼容多 浏览器的javascript库,核心理念是write less,do more(写的更少,做的更多). 下面先用一张图总体概括一下. 下面对JQuery一些基础知识介绍一下. 1.$ 在JQuery中使用最多的莫过于"$"了,无论是页面元素

web前端基础知识-(五)jQuery

通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript函数库,通过它我们可以"写的少做的多"; jQuery库包含以下功能: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX Utilities 二.jQuery使用 jQuery目前分为1.x