《Ajax实战:实例详解》第4章Ajax开源工具集,讨论支持Ajax的JavaScript库并进一步讲解Prototype、Dojo工具箱、jQuery和DWR库,另外特别介绍了它们给Ajax带来的变化。本小节为jQuery基础。

AD: 2013大数据全球技术峰会低价抢票中

4.3  jQuery

jQuery,自称为"新式"JavaScript库,相比我们在本章接触过的其他工具包,它的编程理念稍有不同。jQuery力图改变JavaScript的编程方式,并且jQuery的哲学确实对我们开发脚本的方式产生了巨大的冲击。

在http://jquery.com/上可以找到jQuery的下载以及文档。你可以下载未经压缩的程序库(代码可供阅读),也可以下载一个较小的经过压缩的文件(不具可读性)。

不管是哪个,在用到jQuery的页面中,都需要导入jQuery脚本文件。根据本节的目的,我们将使用没有压缩过的(可读的)版本,把它放在和示例页面相同文件夹下(以便于导入),并命名为jquery.js。

4.3.1  jQuery基础(1)

在深入研究如何用jQuery发送Ajax请求之前,让我们先来看看一些基本概念。要理解jQuery的工作方式,首先就需要掌握这些概念。

本节并非是jQuery的完整教程--这需要多得多的篇幅--但是本节应该能让你对jQuery工作方式背后的哲学有个大致概念。

1.jQuery包装器

我们看到过的其他程序库,比如Prototype,其工作方式是通过引入新的类以及扩展内建的JavaScript类来增加我们页面上脚本的功能。例如在第3章中我们可以看到Prototype是如何扩展Object、Function以及Array类的。

jQuery则采取不同的方式。

jQuery不是对类进行扩展,而是提供了一个新类,其名字就是jQuery,它作为其他对象的包装器,为那些对象提供扩展操作。包装器对象的概念对于面向对象程序的资深开发者来说并不陌生。这一模式常用于适配器,它提供了一个与对象原本接口不同的接口来操作对象。

在jQuery中,大多数操作是这样进行的:用jQuery包装器包装一组元素,然后调用包装器的方法对经过包装的元素进行操作。为了让包含jQuery包装器的表达式和语句更加紧凑,jQuery类被映射为$。不要把它和Prototype的$()混为一谈,因为它的目的完全不同。

jQuery对象可以包装许多不同的对象类型,并且包装的对象不同,它所提供的功能也各有不同。例如,我们可以包装一段HTML:

 

这由HTML构建了一个DOM片段,我们可以使用jQuery的方法来操作它。例如,如果我们想要把这个片段加到文档的末尾,可以这样:

 

Ajax开发者经常需要生成新的DOM元素,采用这样便捷简短的方式就可以实现添加元素的功能,jQuery的优点是显而易见的。

除了添加新的DOM元素外,我们还经常需要操作页面中已有的元素。jQuery包装器也可以包装已有的元素,只需传给$()一个字符串,$()包装器支持许多种方式来标识出需要包装的项目:CSS选择器、XPath表达式以及元素名。我们将在示例代码中大量使用CSS选择器。比如:

 

这将对文档中的所有<div>元素进行包装以便操作。另一个示例是:

 

这会对id为someId的DOM元素进行包装以便操作。还有第三个示例:

 

这将包装所有具有someClass类名的元素。

jQuery的作者非常聪明地运用了CSS选择器和XPath来标识目标元素,而不是发明某些jQuery专用语法去强迫用户接受。作为网页开发者,我们对这些机制已经相当熟悉,这让我们可以更容易接受和使用jQuery来标识所需操作的元素。

还可以包装其他项目,如元素和函数。稍后我们将看到这样的例子。

2.串连jQuery操作

jQuery还很明智地允许我们在一个单独的表达式中把许多操作串连起来。绝大多数jQuery包装器方法会返回一个jQuery包装器对象自身的引用,这样当我们需要对所包装的对象执行多个操作时,就能够在一个单独的表达式上不断追加操作。

考虑这种情况,我们想要给一个元素(它的id是something)增加一个CSS类,并且将这个元素显示出来(假设最初它是隐藏的)。我们不用这样:

 

而可以这样写:

 

4.3.1 jQuery基础(1)相关推荐

  1. 【Java Web开发指南】JQuery基础笔记

    文章目录 JQuery 基础: 1. JQuery 基础:1. 概念2. 快速入门3. JQuery对象和JS对象区别与转换4. 选择器5. DOM操作6. 案例 JQuery 基础: 1. 概念: ...

  2. Jquery基础之DOM操作

    Jquery基础之DOM操作 Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DO ...

  3. Ajax、jQuery基础入门视频教程

    关注公众号,免费获取资料 本视频是Ajax和jQuery基础入门视频,该视频针对接触过javaScript基础的学员录制,授课讲究通俗易懂.通过该视频的学习,相信您能够轻轻松松地掌握Ajax和jQue ...

  4. jQuery小测试系列之jQuery基础知识

    日期:2012-4-17  来源:GBin1.com 这是jQuery小测试系列第一部分:基础知识. 来源:jQuery小测试系列之jQuery基础知识

  5. JQuery-学习笔记04【基础——JQuery基础案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] JQuery-学习笔记01[基础--JQuery基础]--[day01] JQuery-学习笔记02[基础--JQuery选择器] JQuery-学习 ...

  6. JQuery-学习笔记01【基础——JQuery基础】

    Java后端 学习路线 笔记汇总表[黑马程序员] JQuery-学习笔记01[基础--JQuery基础]--[day01] JQuery-学习笔记02[基础--JQuery选择器] JQuery-学习 ...

  7. 06 Jquery 基础

    06 Jquery 基础 前端学习之jquery: jQuery:一个库 Jquery的基础语法: $(selector).action() 基本选择器: <script>//基本选择器/ ...

  8. java与jquery的选择器区别_java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...

    第一章JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScrip ...

  9. java jquery基础_day20:JQuery基础(超系统的JavaWEB全套教程)

    今日内容 1.JQuery 基础: 概念 快速入门 JQuery对象和JS对象区别与转换 选择器 DOM操作 案例 JQuery 基础: 1.概念: 一个JavaScript框架.简化JS开发 jQu ...

  10. 《jQuery基础》总结

    目前,互联网上最好的jQuery入门教材,是Rebecca Murphey写的<jQuery基础>(jQuery Fundamentals).这本书虽然是入门教材,但也足足有100多页.我 ...

最新文章

  1. Java反射机制应用实践
  2. SAP Hybris Commerce,CRM和C4C的登录语言选择
  3. [转]Ubuntu远程桌面登陆
  4. 数据结构学习笔记(一)——《大话数据结构》
  5. 一篇博客读懂设计模式之---单例模式
  6. wpsppt流程图联系效果_| JEAM | 文章精选:大城市收取交通拥堵费的影响与效果
  7. time函数python_python time模块函数
  8. leetcode·单调栈
  9. python房屋租赁管理系统设计与实现报告_毕业设计报告-租房管理系统的设计与实现...
  10. 七牛云上传文件、视频截图、合成gif图
  11. 失业七个月,面试六十家公司的深圳体验(转贴)
  12. GIS基本功 | 14 地图投影及其相关概念
  13. 南非银行“内鬼”偷走主密钥,后将更换1200万张客户卡,损失惨重
  14. 人工智能的发展趋势分析
  15. Javaweb开发一般步骤
  16. python读写tif文件
  17. python编程题12-计算并联电阻
  18. 立志做文艺小清新的技术宅
  19. python如何输入一个数_Python 数据的输入
  20. H3C无线接入控制器特点

热门文章

  1. BZOJ 1032 JSOI 2007 祖码Zuma 区间DP
  2. CAICT:2015年全球云计算市场规模522亿美元
  3. hdu 5616 Jam's balance(dp 正反01背包)
  4. IOS 如何获取ppi
  5. android 中 DOM解析xml
  6. C++实用技巧(一) - λ-calculus(惊愕到手了欧耶,GetBlogPostIds.aspx) - C++博客
  7. 高性能分布式事物中间件Sharding-Sphere介绍
  8. LeetCode 面试题13. 机器人的运动范围
  9. 02326 操作系统 简答题 超简短归纳
  10. 【Python】二维数据格式化