1 jQuery简介

jQuery是一个兼容多浏览器的JavaScript库,核心理念是write less,do more(写得更少,做得更多)。它对JavaScript进行了封装,使开发更便捷,并且在兼容性方面十分优秀。jQuery库可以通过一行简单的标记被添加到网页中。

1.1 jQuery库 - 特性
   jQuery是一个JavaScript 函数库。jQuery库包含以下特性:
   (1)HTML元素选取
   (2)HTML元素操作
   (3)CSS操作
   (4)HTML事件函数
   (5)JavaScript特效和动画
   (6)HTML DOM遍历和修改
   (7)AJAX
   (8)Utilities

  1.2 向页面添加jQuery库
   jQuery库位于一个JavaScript文件中,其中包含了所有的jQuery函数。可以通过下面的标记把jQuery添加到网页中:

<head>
<script type="text/javascript" src="jquery.js"></script>
</head>

1.3 下载jQuery
   共有两个版本的jQuery可供下载:一份是精简过的,另一份是未压缩的(供调试或阅读),这两个版本都可从jQuery.com下载。如果您不希望下载并存放jQuery,那么也可以通过CDN(内容分发网络)引用它。
谷歌和微软的服务器都存有jQuery。

   注:可以把下载的jQuery文件放到与页面相同的目录中,这样更方便使用。同时,在使用jQuery的过程中,会存在版本选择与版本冲突的问题。

2 jQuery基础

通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。

2.1 jQuery语法

jQuery语法是为HTML元素的选取编制的,可以对元素执行某些操作。

基础语法是:$(selector).action()
    美元符号定义 jQuery
    选择符(selector)“查询”和“查找” HTML 元素
    jQuery 的 action() 执行对元素的操作

示例:
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有段落
$(".test").hide() - 隐藏class="test"的所有元素
$("#test").hide() - 隐藏id="test"的元素(id在一个页面中是唯一的)
提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。

jQuery的几种写法

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<!--JavaScript文件-->
<script type="text/javascript">
// jQuery写法
// 方式1:文档就绪函数(建议写法)
$(document).ready(function(){
alert('jQuery')
}); // 方式2
jQuery(function(){
alert('jQuery');
}); // 方式2简写
$(function(){
alert('jQuery');
}); // 改变jQuery默认写法:
var jq=jQuery.noConflict()
jq(function(){
alert("jQuery");
});
</script>
</body> </html>

jQuery语法实例

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<button type="button">Click me</button>
<!--点击button,按钮button隐藏-->
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$(this).hide();
});
});
</script>
</body> </html>

实例1

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p id="test">This is another paragraph.</p>
<button type="button">Click me</button>
<!--点击button,则id="test"的标签会隐藏-->
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("#test").hide();
});
});
</script>
</body> </html>

实例2

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button type="button">Click me</button>
<!--点击button,所有的p标签(段落标签)都会隐藏-->
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</body> </html>

实例3

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<h2 class="test">This is a heading</h2>
<p class="test">This is a paragraph.</p>
<p>This is another paragraph.</p>
<button type="button">Click me</button>
<!--点击button,所有的class="test"标签都会隐藏-->
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$(".test").hide();
});
});
</script>
</body> </html>

实例4

文档就绪函数

也许已经注意到在我们的实例中的所有jQuery函数位于一个document ready函数中
$(document).ready(function(){
--- jQuery functions go here ----
});
这是为了防止文档在完全加载(就绪)之前运行jQuery代码。如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
(1)试图隐藏一个不存在的元素
(2)获得未完全加载的图像的大小
$(document).ready(function(){ });是在页面加载完所有DOM节点文档结构后开始执行;window.onload()则是在页面加载完所有资源后才开始执行。也就是说window.onload()要等到所有图片,
外链资源都加载完后才开始执行,也因此window.onload只允许定义一个(实际是可以定义多个,但只有最后一个有效,相当于前面会被覆盖掉),而$(document).ready(function(){ });
可以允许定义多个,并且按照定义的先后顺序先后执行。

3 jQuery选择器

选择器允许您对元素组或单个元素进行操作。jQuery选择器是如何准确地选取您希望应用效果的元素。jQuery元素选择器和属性选择器允许通过标签名、属性名或内容对HTML元素进行选择。选择器允许对HTML元素组或单个元素进行操作。在HTML DOM术语中:选择器允许对DOM元素组或单个DOM节点进行操作。

3.1 jQuery元素选择器

jQuery使用CSS选择器来选取HTML元素。
$("p")选取<p>元素。
$("p.intro")选取所有class="intro"的<p>元素。
$("p#demo")选取所有id="demo"的<p>元素。

3.2 jQuery属性选择器

jQuery使用XPath表达式来选择带有给定属性的元素。
$("[href]")选取所有带有href属性的元素。
$("[href='#']")选取所有带有href值等于"#"的元素。
$("[href!='#']")选取所有带有href值不等于"#"的元素。
$("[href$='.jpg']")选取所有href值以".jpg"结尾的元素。

3.3 jQuery CSS 选择器
   jQuery CSS选择器可用于改变HTML元素的CSS属性。下面的例子把所有p元素的背景颜色更改为红色:

<!DOCTYPE html>
<html>
<head>
<!--指定jQuery库文件,必须放在head标签中-->
<script type="text/javascript" src="jQuery-1.11.3.js"></script>
</head> <body>
<h2 class="test">This is a heading</h2>
<p class="test">This is a paragraph.</p>
<p>This is another paragraph.</p>
<button type="button">Click me</button>
<!--点击button,点击button后,p元素的背景颜色改为红色-->
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").css("background-color","red");
});
});
</script>
</body> </html>

css选择器实例

更多的选择器实例

4 jQuery事件

jQuery是为事件处理特别设计的。

jQuery事件函数:jQuery事件处理方法是jQuery中的核心函数。事件处理程序指的是当HTML中发生某些事件时所调用的方法。术语由事件“触发”经常会被使用。通常会把jQuery代码放到<head>部分的事件处理方法中,在上面的实例中都涉及了jQuery事件。

事件实例:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head> <body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body> </html>

在上面的例子中,当按钮的点击事件被触发时会调用一个函数:

$("button").click(function() {..some code... } )

该方法隐藏所有<p>元素:

$("p").hide();

单独文件中的函数
    如果您的网站包含许多页面,并且您希望您的jQuery函数易于维护,那么请把您的jQuery函数放到独立的.js文件中。
当我们在教程中演示jQuery时,会将函数直接添加到<head>部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过src属性来引用文件):

<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>

jQuery名称冲突
   jQuery使用$符号作为jQuery的简介方式。某些其他JavaScript库中的函数(比如 Prototype)同样使用$符号。jQuery使用名为noConflict()的方法来解决该问题。var jq=jQuery.noConflict(),帮助您使用自己的名称(比如jq)来代替$符号。

下面是 jQuery 中事件方法的一些例子:

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$.noConflict();
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery("p").text("jQuery 仍在运行!");
});
});
</script>
</head> <body>
<p>这是一个段落。</p>
<button>测试 jQuery</button>
</body>
</html>

解决名称冲突

下面是 jQuery 中事件方法的一些例子:

事件小结:

由于jQuery是为处理HTML事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
    把所有jQuery代码置于事件处理函数中
    把所有事件处理函数置于文档就绪事件处理器中
    把jQuery代码置于单独的.js文件中
    如果存在名称冲突,则重命名jQuery库

参考资料:

http://www.w3school.com.cn/jquery/index.asp

http://www.cnblogs.com/wupeiqi/articles/4457274.html

web前端基础——jQuery编程基础的更多相关文章

  1. WEB前端研发工程师编程能力成长之路(1)(转)

    WEB前端研发工程师编程能力成长之路(1)   [背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧: ...

  2. WEB前端研发工程师编程能力成长之路(2)(转)

    WEB前端研发工程师编程能力成长之路(2)   四.[入微] 最强解决方案.你能够走在需求的前面,将当前需求里有的.没有直接提出来的.现在暂时没有但将来可能有的等等,及前端编程潜规则等各个方方面面都综 ...

  3. Python web前端 09 jQuery

    Python web前端 09 jQuery 一.三个重要网址 http://jquery.cuishifeng.cn/ #中文查询网站 http://www.bootcdn.cn/ #引入jq ht ...

  4. day14—JQuery编程基础

    JQuery 1.什么是jQuery jQuery是一个优秀的JavaScript框架.一个轻量级的JavaScript类库.jQuery的核心理念是Write less.Do more. 使用jQu ...

  5. [转载]Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  6. 【转】Web前端研发工程师编程能力飞升之路

    分类: Javascript | 出自 海玉的博客 今天看到这篇文章.写的非常有意思.发现自己还有很长的一段路要走. [背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如 ...

  7. Web前端研发工程师编程能力飞升之路

    今天看到这篇文章.写的非常有意思,于是转载了.看看我们都处于什么的阶段. [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着 ...

  8. Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  9. web前端研发工程师编程能力成长之路

    [背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

随机推荐

  1. iOS开发-xcdatamodeld文件 CoreData的介绍和使用,sqlite的使用

    CoreData的介绍和使用  源引:http://www.jianshu.com/p/d027090af00e CoreData是数据存储的一种方式,CoreData实质也是对SQLite的封装. ...

  2. HTML5和CSS3基础教程(第8版)-读书笔记(2)

    第7章 CSS构造模块 7.1 构造样式规则 样式表中包含了定义网页外观的规则.样式表中的每条规则都有两个主要部分:选 择 器(selector) 和 声 明 块(declaration block) ...

  3. 新建MMS草稿保存后,再进入草稿修改收件人,退出到会话界面,会显示两条草稿

    分析原因:新建彩信草稿,保存后,再打开草稿,修改收件人,再保存会产生新的threadId, 而之前保存的草稿theadId还存在,导致此问题. (必现. 解决方法:将原来的Thread_id和新的收件 ...

  4. Dell R710、720等系列类服务器 U盘安装centos6.5 操作系统

    一般全新服务器创建系统的时候,没做raid 会报错,如下: 解决: 开机启动时按F10,进入下面界面. 在LC设置-语言和键盘设置选项里可以选择界面显示的语言 在界面主页选项里选择"配置RA ...

  5. Java 字符串用逗号并接

    for (int t = 0; t < memberLen; t++) {  memTemp = stafferMap.get(strMember[t]);  if(memTemp != nul ...

  6. NumberFormat usage

    NumberFormat 是所有数值格式的抽象基类. 该类提供了格式化和分析数值的接口. NumberFormat 也提供了确定 哪个语言环境具有数值格式以及它们名字的方法. import java. ...

  7. linux 下部署nodejs(两种方式)

    本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...

  8. 2.5 ListView

    ListView的工作原理如下: ListView 针对每个item,要求 adapter "返回一个视图" (getView),也就是说ListView在开始绘制的时候,系统首先 ...

  9. c# 后台弹出对话框 和前台弹出新页面

    前台: window.showModalDialog("daoru.aspx", "NPOI_daoru_window", "status:false ...

  10. HTML编程

    通俗的解释:HTML是一个没有穿衣服的人 CSS是穿上了华丽衣服的人 JS是使这个人动起来 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万 ...