基本信息
- 原书名:jQuery Cookbook: Solutions & Examples for jQuery Developers (Animal Guide)
- 作者: (美)jQuery社区专家组
- 译者: 姚军 孙博
- 出版社:人民邮电出版社
- ISBN:9787115255907
- 上架时间:2013-4-13
- 出版日期:2013 年5月
- 开本:16开
- 页码:425
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 网络编程 > javascript
编辑推荐
前言
jQuery程序库给前端开发带来了一场风暴。它极其简单的语法使曾经很复杂的任务变得轻松愉快。许多开发人员很快就为它的优雅和清晰而着迷。如果你已经开始使用这个程序库,你就已经将丰富而具有交互性的体验加入到你的项目中。
jQuery的入门非常容易,但是和许多用于开发网站的工具一样,完全体会到它的广度和深度需要花费几个月甚至几年的时间。这个程序库充满了你从未想象过的特性。一旦你了解了这些特性,这些特性就能够戏剧性地改变你解决问题的方法。
本书旨在向亲爱的读者展示业界领先的前端开发人员在日常项目中使用jQuery的方式和方法。在18章中,这些业界精英将带你经历由简到繁的各种问题的解决过程。不管你是jQuery新手还是老练的JavaScript开发人员,都能够对jQuery创建引人注目、健壮和高性能的用户界面的能力有全新的认识。
本书读者对象
你可能是为jQuery提供的交互性而着迷的设计人员,也可能是希望了解其他人如何完成常见任务的jQuery前端开发人员。你还可能是常常应要求编写客户端代码的服务器端开发人员。
坦白说,这本“食谱”对于任何使用jQuery的人(或者希望使用jQuery的人)都有价值。如果你刚刚开始使用这一程序库,可以考虑配套阅读Packt出版的《Learning
jQuery 1.3》或者Manning出版的《jQuery in
Action》。如果你已经在项目中使用jQuery,本书能够增强你对jQuery的功能、隐藏的精华和特色的了解。
你将会学习到的内容
我们从基础知识和通用最佳实践的介绍开始——在页面中包含jQuery、做出选择、遍历和操纵。即使常用jQuery的用户也能从中学到一两个技巧。由此,我们转向实际的用例,带你经历对常见问题的可靠(并且经过测试)的解决方案,这些问题包括事件、特效、尺寸、表单和用户界面元素(可能需要或者不需要jQuery
UI的帮助)。最后,我们将研究jQuery应用程序的测试以及将jQuery集成到复杂网站的方法。
在学习的过程中,你将学习到利用jQuery解决高级问题的策略。我们将研究如何最大限度地利用jQuery的事件管理系统,包括自定义事件和自定义事件数据,如何渐进增强表单,如何在页面上定位和重定位元素,如何从头开始创建选项卡、折叠控件和模态等用户界面元素,如何制作具备易读性和可维护性的代码,如何优化代码以简化测试、消除瓶颈和确保最高性能等。
因为这是一本“食谱”而非手册,你当然可以选择阅读最适合自己的“菜谱”①;书中的每一个单独的秘诀都物有所值。但是,本书自始自终提供的都是jQuery社区中一些难得的绝妙解题方法。因此,我们希望你能至少从头到尾浏览一遍——你永远不会知道,哪一行代码能够让你茅塞顿开,使你的技巧更上一层楼。
jQuery风格和惯例
jQuery非常强调链式(chaining)语法——依次调用选择元素的方法,确信每个方法都能返回继续工作所用的选择元素。这种模式将在第1章中深入说明——如果你还不熟悉这个程序库,就应该理解这个概念,因为在后续的章节中将会频繁地用到它。
对jQuery的功能做了一些简单的分类:核心功能、选择、操纵、遍历、CSS、属性、事件、特效、Ajax和工具。对这些分类和对应方法的学习,将极大地加强对书中内容的理解。
本书介绍的最佳实践之一是在变量中存储元素,而不是重复地进行相同的选择。当选择的元素存储在变量中时,该变量一般以$字符开头,表明它是一个
jQuery对象。这样的语法使代码更容易阅读和维护,但是应该理解,以$字符开头的变量名称并不是惯例,和PHP之类的语言不同,它在jQuery中没有特殊的意义。
一般来说,本书中的代码示例重视清晰性和易读性而不是简洁性,所以示例比起绝对必需的代码来说稍嫌冗长。如果你发现可以优化的地方,可以毫不犹豫地进行。同时,你也可以在自己的代码中坚持清晰性和易读性,然后使用代码精简工具准备用于生产环境的代码。
其他选择
如果你想寻找其他jQuery资源,下面是我推荐的一些书籍:
? Jonathan Chaffer、Karl Swedberg和John Resig编著的《Learning jQuery
1.3》(Packt);
? Bear Bibeault、Yehuda Katz和John Resig编著的《jQuery in
Action》(Manning);
? Dan Wellman编著的《jQuery UI 1.6: The User Interface Library for
jQuery》(Packt)。
如果运行示例时遇到问题
在检查其他问题之前,确保页面上加载了jQuery程序库——你将会很惊奇地发现,很多时候这就是“代码不工作”问题的解决方案。如果你同时使用jQuery和另一个JavaScript程序库,可能需要使用jQuery.noConflict()来确保和其他程序库的协同工作。如果有的脚本需要jQuery,一定要在已经加载jQuery程序库之后再加载这些脚本。
本书中的许多代码都要求文档在JavaScript与之交互之前处于“就绪”状态。如果你在文档的头部包含了代码,确保这些代码包含在$(document).ready(function()
{ ... })之内,这样它就能知道,要等到文档就绪才开始交互。本书中讨论的一些功能只存在于jQuery
1.3和更高版本中。
如果你从旧版本的jQuery升级,确保升级使用的所有插件——过时的插件可能导致不可预知的表现。如果你发现示例在现有的应用程序中难以正常运行,在将其集成到现有代码之前先确保它能够正常运行。如果可以,Firefox浏览器的Firebug等工具能帮助你找出错误的根源。
如果你包含了jQuery的精简版本而问题出现在jQuery程序库本身,可以考虑在调试时切换到完整版本的jQuery。这样,你就更容易定位导致问题的代码行,这常常能将你引向解决问题的正确方向。
如果仍然不能解决问题,可以考虑将问题张贴到Google上的jQuery用户组。本书的多位作者都是该用户组的常客,该用户组的成员往往能提供有用的建议。Freenode上的#jquery
IRC频道是解决问题的另一个有价值的资源。
如果上述方法都无效,可能是我们的错误。我们认真地测试和审查了书中的所有代码,但是仍然有可能出错。检查勘误表(在下一小节中说明)并下载更新后的样板代码,其中可能已经改正了我们发现的问题。
如果你喜欢(或者不喜欢)本书
如果你喜欢——或者不喜欢——这本书,无论如何要让大家知道。Amazon
reviews(亚马逊书评)是分享你的快乐(或者不快乐)的流行方法,你也可以在本书的网站上留下你的意见:
http://oreilly.com/catalog/9780596159771/
网站上也有指向勘误表的链接。读者可以通过勘误表让我们知道本书中出现的印刷问题、错误和其他问题。勘误在网站上立刻可以看到,我们将进行检查和确认。O’Reilly也会在本书未来的印刷中以及Safari网站上改正这些错误,尽快地为读者带来更好的体验。我们希望在未来版本的jQuery发行后更新本书,在以后的版本中采纳读者的建议和批评。
本书约定
本书使用下列排版约定:
斜体
表示互联网地址,例如,域名和URL,以及新术语的定义。
等宽字体
表示应该逐字输入的命令行和选项;程序中的名称和关键字,包括方法名称、变量名称和类名;HTML元素标记、开关、属性(attribute)、键值、函数、类型、命名空间、模块、属性(property)、参数、值、对象、事件、事件处理程序、宏、文件内容或者命令输出。
加粗等宽字体
表示程序代码行中需要强调的部分。
斜体等宽字体
表示文本应该由用户提供的值代替。
注意
这个图标用来表示一个提示、建议或一般的说明。
内容简介
计算机书籍
《jQuery Cookbook中文版》旨在向读者展示业界领先的前端开发人员在日常项目中使用jQuery的方式和方法。全书共分18章,分别由不同的作者撰写。这些业界精英将带领读者经历由简到繁的各种问题的解决过程,不管是jQuery新手还是老练的JavaScript开发人员,都能通过本书对jQuery的能力有全新的认识。
《jQuery Cookbook中文版》从基础知识和通用最佳实践的介绍开始,内容包括在页面中包含jQuery、做出选择、遍历和操纵;接着转向实际用例,带领读者寻找常见问题的解决方案,包括事件、特效、尺寸、表单和用户界面元素等;最后研究jQuery应用程序的测试以及将jQuery集成到复杂网站的方法。
无论是为jQuery前端开发人员,还是编写客户端代码的服务器端开发人员,都可以从本书中找到自己感兴趣的内容,并提高自己的开发本领。
作译者
Jonathan Sharp
Rob Burns
Rebecca Murphey
Ariel Flesler
Cody Lindley
Remy Sharp
Mike Hostetler
Ralph Whitbeck
Nathan Smith
Brian Cherne
James Padolsey
Michael Geary
Maggie Wachs、Scott Jehl、Todd Parker、Patty Toland等Filament小组成员
Richard D. Worth
目录
第1章 jQuery基础 1
1.1 在HTML页面中包含jQuery程序库代码 9
1.2 在DOM加载之后、整个页面加载之前执行jQuery/JavaScript代码 10
1.3 用选择器和jQuery函数选择DOM元素 13
1.4 在指定上下文中选择DOM元素 15
1.5 过滤DOM元素包装器集 16
1.6 查找当前选择包装器集中的后代元素 17
1.7 返回破坏性修改之前的选择 19
1.8 将前一个选择集包含到当前选择集 20
1.9 根据当前上下文遍历DOM获得新的DOM元素集 21
1.10 创建、操作和插入DOM元素 22
1.11 删除DOM元素 24
1.12 替换DOM元素 25
1.13 克隆DOM元素 26
1.14 获取、设置和删除DOM元素属性 29
1.15 获取和设置HTML内容 30
1.16 获取和设置文本内容 31
1.17 在不造成全局冲突的情况下使用$别名 32
第2章 用jQuery选择元素 33
前言
jQuery的入门非常容易,但是和许多用于开发网站的工具一样,完全体会到它的广度和深度需要花费几个月甚至几年的时间。这个程序库充满了你从未想象过的特性。一旦你了解了这些特性,这些特性就能够戏剧性地改变你解决问题的方法。
本书旨在向亲爱的读者展示业界领先的前端开发人员在日常项目中使用jQuery的方式和方法。在18章中,这些业界精英将带你经历由简到繁的各种问题的解决过程。不管你是jQuery新手还是老练的JavaScript开发人员,都能够对jQuery创建引人注目、健壮和高性能的用户界面的能力有全新的认识。
本书读者对象
你可能是为jQuery提供的交互性而着迷的设计人员,也可能是希望了解其他人如何完成常见任务的jQuery前端开发人员。你还可能是常常应要求编写客户端代码的服务器端开发人员。
坦白说,这本“食谱”对于任何使用jQuery的人(或者希望使用jQuery的人)都有价值。如果你刚刚开始使用这一程序库,可以考虑配套阅读Packt出版的《Learning jQuery 1.3》或者Manning出版的《jQuery in Action》。如果你已经在项目中使用jQuery,本书能够增强你对jQuery的功能、隐藏的精华和特色的了解。
你将会学习到的内容
我们从基础知识和通用最佳实践的介绍开始——在页面中包含jQuery、做出选择、遍历和操纵。即使常用jQuery的用户也能从中学到一两个技巧。由此,我们转向实际的用例,带你经历对常见问题的可靠(并且经过测试)的解决方案,这些问题包括事件、特效、尺寸、表单和用户界面元素(可能需要或者不需要jQuery UI的帮助)。最后,我们将研究jQuery应用程序的测试以及将jQuery集成到复杂网站的方法。
在学习的过程中,你将学习到利用jQuery解决高级问题的策略。我们将研究如何最大限度地利用jQuery的事件管理系统,包括自定义事件和自定义事件数据,如何渐进增强表单,如何在页面上定位和重定位元素,如何从头开始创建选项卡、折叠控件和模态等用户界面元素,如何制作具备易读性和可维护性的代码,如何优化代码以简化测试、消除瓶颈和确保最高性能等。
因为这是一本“食谱”而非手册,你当然可以选择阅读最适合自己的“菜谱”①;书中的每一个单独的秘诀都物有所值。但是,本书自始自终提供的都是jQuery社区中一些难得的绝妙解题方法。因此,我们希望你能至少从头到尾浏览一遍——你永远不会知道,哪一行代码能够让你茅塞顿开,使你的技巧更上一层楼。
jQuery风格和惯例
jQuery非常强调链式(chaining)语法——依次调用选择元素的方法,确信每个方法都能返回继续工作所用的选择元素。这种模式将在第1章中深入说明——如果你还不熟悉这个程序库,就应该理解这个概念,因为在后续的章节中将会频繁地用到它。
对jQuery的功能做了一些简单的分类:核心功能、选择、操纵、遍历、CSS、属性、事件、特效、Ajax和工具。对这些分类和对应方法的学习,将极大地加强对书中内容的理解。
本书介绍的最佳实践之一是在变量中存储元素,而不是重复地进行相同的选择。当选择的元素存储在变量中时,该变量一般以$字符开头,表明它是一个 jQuery对象。这样的语法使代码更容易阅读和维护,但是应该理解,以$字符开头的变量名称并不是惯例,和PHP之类的语言不同,它在jQuery中没有特殊的意义。
一般来说,本书中的代码示例重视清晰性和易读性而不是简洁性,所以示例比起绝对必需的代码来说稍嫌冗长。如果你发现可以优化的地方,可以毫不犹豫地进行。同时,你也可以在自己的代码中坚持清晰性和易读性,然后使用代码精简工具准备用于生产环境的代码。
其他选择
如果你想寻找其他jQuery资源,下面是我推荐的一些书籍:
Jonathan Chaffer、Karl Swedberg和John Resig编著的《Learning jQuery 1.3》(Packt);
Bear Bibeault、Yehuda Katz和John Resig编著的《jQuery in Action》(Manning);
Dan Wellman编著的《jQuery UI 1.6: The User Interface Library for jQuery》(Packt)。
序言
从这些简单的成果开始,随着新用户将这些程序库用于自己的项目,jQuery已经逐渐成长和发展起来。已经证明它是JavaScript程序库开发中最具挑战性的部分;虽然为个人或者具体的应用程序构建一个程序库相当简单,但是开发用于尽可能多环境(旧的浏览器、遗留网页和大量陌生的标记)的程序库却非常困难。令人惊讶的是,尽管jQuery已经为处理更多用例而做了修改,但是大部分原始API却完好无损地保留了下来。
我感到特别有趣的一件事情是了解开发人员如何使用jQuery达到自己的目的。作为具有计算机科技背景的人,我对有这么多设计人员和非程序员感受到jQuery的吸引力而吃惊。看到他们使用这个程序库的方式,使我对简洁的API设计有了更好的理解。此外,许多高级程序员采用jQuery开发复杂的大型程序,对我也有很大的启发。不过,最令我感觉良好的是能够从使用程序库的每一个人那里学到知识。
使用jQuery的另一个好处是可扩展的插件结构。在刚刚开发jQuery的时候,我确实为开发人员提供了扩展API的一些简单方法。这些扩展已经发展成了许多形形色色的插件社区,这些插件组成了应用程序、开发人员和用例这一完整的生态系统。这些插件社区加速了jQuery的成长——没有它们,这个程序库就没有今天的成就,所以我很高兴在本书中加入一些专门的章节,讲解一些最有趣的插件以及它们的用途。扩展对jQuery用途的感性认识的最佳途径之一,就是学习和使用来自jQuery插件社区的代码。
上述原因使这本“食谱”变得如此有趣:它为你带来了开发人员在日复一日的编码中完成的杰作和学习到的技巧,并加以提炼和总结,供以后使用。从个人的角度,我认为“食谱”类型的书籍是挑战我对语言或者程序库感性认识的最佳途径之一。我很乐意看到我所熟知的API被人们以新颖而有趣的方式利用。希望本书能够很好地为读者服务,将这些新颖而有趣的jQuery使用方法传授给大家。
——John Resig
jQuery创始人、首席开发者
后记
本书封面上的动物是貂(ermine),又称白鼬(stoat)。“ermine”有时候指的是冬天时这种动物的白色毛皮,而“stoat”一词则用来指在其他季节时它的褐色毛皮。貂属于黄鼬科,这一科包括貂鼠、雪貂、水貂、水獭和臭鼬,但是貂因其带有黑点的尾巴而不同于其他同科动物。
貂生活于欧洲、亚洲、北美洲北部的林地,主要在夜间活动,用树根在岩石下及隧道中筑巢。它是一种独居的动物,能够在一晚上行走多达10英里寻找食物。它的天敌包括狐狸、獾、猫科动物和食肉禽。
貂细长的身体使其即使在穿越雪地时跑得也非常迅速,攀爬和游泳时也很敏捷,尽管这种外形有优势,但是也导致它身体的热量很快散失。厚实的毛皮和快速的新陈代谢有助于补偿热量的散失,而且貂每天都必须进食才能满足能量的要求。它的食物包括小型哺乳动物、鸟类、鱼和昆虫。当发现猎物时,它快速潜近,抓住猎物的颈部,用反复地撕咬将其杀死。
白色的貂皮价格很高,用于缝制外套,但是近年来需求已经下降。通常,将多张貂皮缝在一起形成白色区域上的黑点图案,这种图案早在12世纪就被盾徽所效仿,最有名的是布列塔尼岛的徽章。貂皮也是高贵和纯洁的象征,这可能是英国女王伊丽莎白一世(“童真女王”)使用貂皮作为装饰的原因。
媒体评论
——John Resig,jQuery之父