针对初学者的jQuery入门指南


Posted in Javascript onAugust 15, 2015

 jQuery 是什么,它能为我们做什么?如果你是一名 Web 开发人员,写过 JavaScript 程序,那么你很可能正在使用 jQuery,即使没有试用过,至少也听说过,事实上 jQuery 可以说是现阶段最流行的 JavaScript 库。据有关部门统计,全球网站上面,约有 28% 的网站在使用 jQuery,这个数字可能有些夸张,但足见 jQuery 受欢迎的程度。本文仅对 jQuery 的使用方法作简单介绍,且作为一个入门教程吧。
下载 jQuery 代码,并在页面中载入

首先需要从jQuery 官方网站 去下载最新的 jQuery 代码,jQuery 官方提供两个版本的,一个是经过压缩的,一个是没有经过压缩的,如果你不打算阅读或分析 jQuery 源代码的话,那么建议下载压缩过的版本,因为它体积更小。下载完成后,在你的 HTML 代码中载入,载入方法如下:

<html>
 <head>
 <title>jQuery tutorial</title>
 <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
 </head>
 <body>
 jQuery tutorial
 </body>
</html>

当然,介于 jQuery 目前之流行程度,也有不少网站提供了在线的 jQuery API,例如 Google API,所以我们可以通过以下方法载入 jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js?ver=1.1.4"></script>
地址后面加上了一个参数 ver=1.1.4,需要说明的是,JavaScript 代码肯定是无法接收任何参数的,这里加了这个参数仅仅是为了让浏览器重服务器上获取最新版本,因为之前你的浏览器缓存中可能已经有了jquery.min.js 这个文件,这里只是为了避免缓存罢了。
jQuery 代码如何执行

学习编写 jQuery 代码,首先要接触的就是 document ready 这个事件处理机制,几乎你所有的 jQuery 代码都要写在这个事件里面。这个东西主要有两个作用:

    确保在网页完全载入完成后,才执行 jQuery 代码。因为如果网页中有 DOM 元素还未完全载入,那么用 jQuery 代码去访问或操作 DOM 元素的话会出错。
    一定程度上将 jQuery 代码和其它代码区分开来。

代码写法一般如下:

<script type="text/javascript">
$(document).ready(function() {
 // 所有的 jQuery 代码都写在这里
});
</script>

使用 jQuery 选择器选择 DOM 元素

jQuery 里面封装了一个函数 $("") 让我们在 HTML 文档里面方便地选择 DOM 元素,下面是几个简单的使用方法。

$("div"); // 选择当前 HTML 文档中的所有 DIV 元素
$("#myElement"); // 选择当前 HTML 文档中 ID 为 "myElement" 的元素
$(".myClass"); // 选择当前 HTML 文档中 class 为 "myClass" 的元素
$("p#myElement"); // 选择当前 HTML 中 ID 为 "myElement" 的段落 P 标签元素
$("ul li a.navigation"); // 选择列表元素中 class 为 "navigation" 的超链接

jQuery 支持几乎所有的 CSS 选择器方法

$("p > a"); // 选择所有 P 标签中的超链接 A 元素
$("input[type=text]"); // 选择 input 元素中 type 为 text 的元素
$("a:first"); // 选择当前页面中的第一个超链接 A 元素
$("p:odd"); // 选择当前页面中序数为奇数的段落 P 元素
$("li:first-child"); // 选择列表中的第一个元素

jQuery 自身也定义了一些选择器方法,下面是几个例子:

$(":animated"); // 选择所有正在执行动画效果的元素
$(":button"); // 选择所有按钮元素 (input 或 button)
$(":radio"); // 选择所有单选框元素
$(":checkbox"); // 选择所有复选框元素
$(":checked"); // 选择所有已经在 选定状态 的单选框和复选框
$(":header"); // 选择所有标题元素 (h1, h2, h3, h4 ...)

操作和访问 CSS 中的 class 名称

利用 jQuery 可以为 DOM 元素添加、移除类名,并且使用起来相当之方便。下面是几个典型的使用方法:

$("div").addClass("content"); // 为所有 <div> 元素添加名为 "content" 的类
$("div").removeClass("content"); // 移除所有 <div> 元素中,名为 "content" 的类
$("div").toggleClass("content"); // 交替所有 <div> 元素中,名为 "content" 的类 (如果该元素中不存在这个类,则为它加上这个类;如存在,则移除之)

当然,你也可以用 jQuery 来检测一下某元素中是否正在使用某个 class,代码如下

if ($("#myElement").hasClass("content")) {
 alert("存在名为 content 的类!");
}
else {
 alert("不存在名为 content 的类!");
}

用 jQuery 来操作 CSS 中的样式

使用 jQuery 可以轻松的为 DOM元素添加 CSS 样式,下面是几个范例:

$("p").css("width", "400px"); // 为所有段落添加一个宽度
$("#myElement").css("color", "blue") // 将所有 ID 为 #myElement 的元素中文本颜色变为蓝色
$("ul").css("border", "solid 1px #ccc") // 为所有无序列表添加实线边框,且边框颜色为 #ccc

在网页中添加、移除、追加 DOM 元素或内容

jQuery 中同样提供了好多种方法来操作 DOM 元素,例如改变操作标签中的文本。。。几个例子如下:

var myElementHTML = $("#myElement").html();
// 获取 ID 为 myElement 的元素中的所有内容,包括文本和 HTML 标签
// 这种方法类似于传统 JavaScript 中的 innerHTML

var myElementHTML = $("#myElement").text();
// 获取 ID 为 myElement 的元素中的文本,仅包括文本,HTML 标签除外

类似以上两种方法,还可以改变 DOM 元素中的 HTML 或文本:

$("#myElement").html("<p>This is the new content.</p>");
// #myElement 中的内容将被这个段落替换掉

$("#myElement").text("This is the new content.");
// #myElement 中的内容将被这行文本替换掉

在元素内追加内容:

$("#myElement").append("<p>This is the new content.</p>");
// 保留标签内原有内容,并在末尾处追加新内容

对于向元素上追加内容,jQuery 还有其它几种用法,如: appendTo(), prepend(), prependTo(), before(), insertBefore(), after(), insertAfter(),各有其特点,但使用方法和 append() 类似。
jQuery 之事件处理

一些特定的事件处理程序可以用如下方法来实现:

$("a").click(function() {
 // 可以在这里写一些代码
 // 当超链接被点击的时候这里的代码将被执行
});

当超链接被点击的时候,function() 里面的代码将被执行。还有其它的一些事件使用方法也一样,如:blur, focus, hover, keydown, load, mousemove, resize, scroll, submit, select。
用 jQuery 隐藏或显示元素

jQuery 也可以非常方便地显示或隐藏 DOM 元素,示例代码如下:

$("#myElement").hide("slow", function() {
 // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行
});

$("#myElement").show("fast", function() {
 // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行
});

$("#myElement").toggle(1000, function() {
 // 这里可以写一些代码,当元素被隐藏/显示后,这里的代码将被执行
});

可以看到,当元素显示或隐藏的时候,是慢慢的渐渐变化的,这是因为上面用到了几个速度参数,如 slow,fast,除此之外还有 normal,数字 1000 表示毫秒数,可以自定义。如果没有设置速度参数,那么元素将直接显示或隐藏,一闪而过,没有任何动画效果。后面的第二个参数是一个 function,用来当显示/隐藏完毕后,再执行一些需要的代码,如果不需要,可省略此参数。

另外还有一种“渐隐渐显”的方法,也是动画效果,使用方法如下:

$("#myElement").fadeOut("slow", function() {
 // 这里的代码在 fade out 完成后执行
});

$("#myElement").fadeIn("slow", function() {
 // 这里的代码在 fade in 完成后执行
});

调整元素的透明度:

$("#myElement").fadeTo(2000, 0.4, function() {
 // 这里的代码在在调整透明度完成后执行
});

其中第一个参数是仍然是速度参数,第二个参数是透明度,但三个参数是一个匿名回调函数,当渐变完成后执行。
jQuery 之动画效果

jQuery 可以为 DOM 元素添加上下滑动效果:

$("#myElement").slideDown("fast", function() {
 // .......
});

$("#myElement").slideUp("slow", function() {
 // .......
});

$("#myElement").slideToggle(1000, function() {
 // .......
});

jQuery 的动画效果还可以应用在改变 DOM 元素样式的时候,使改变样式的过程以平滑过渡的方式进行,而且可以选择需要速度,示例如下:

$("#myElement").animate({
 opacity: 0.3,
 width: "500px",
 height: "700px"
 }, 
 1000, 
 function() {
 // ......
});

总的来说,jQuery 的动画效果很强大,但是也有其怪癖(例如要改变颜色的话,可能需要其它特定的插件)。jQuery 还有其它许多动画效果需要不断地去深入学习和挖掘。

Javascript 相关文章推荐
javascript concat数组累加 示例
Sep 03 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
Apr 26 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
vue.js语法及常用指令
Oct 29 Javascript
jquery ztree实现右键收藏功能
Nov 20 jQuery
JS动态显示倒计时效果
Dec 12 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 #Javascript
在jQuery中处理XML数据的大致方法
Aug 14 #Javascript
JavaScript中var关键字的使用详解
Aug 14 #Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 #Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 #Javascript
JavaScript学习笔记之DOM基础 2.4
Aug 14 #Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 #Javascript
You might like
图书管理程序(二)
2006/10/09 PHP
smarty内置函数section的用法
2015/01/22 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
如何使用Javascript中的this关键字
2020/05/28 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
GWT的应用有哪两种部署模式
2012/12/21 面试题
利群广告词
2014/03/20 职场文书
高中教师考核方案
2014/05/18 职场文书
市场部岗位职责范本
2015/04/15 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
MySQL数据库完全卸载的方法
2022/03/03 MySQL