jQuery教程总结

Jquery教程

结论

由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:

  • 把所有 jQuery 代码置于事件处理函数中
  • 把所有事件处理函数置于文档就绪事件处理器中
  • 把 jQuery 代码置于单独的 .js 文件中
  • 如果存在名称冲突,则重命名 jQuery 库

文档就绪函数

您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){

--- jQuery functions go here ----

});

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:

  • 试图隐藏一个不存在的元素
  • 获得未完全加载的图像的大小

通过 jQuery,您可以把动作/方法链接起来。

Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。

jQuery 方法链接

直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。

不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。

提示:这样的话,浏览器就不必多次查找相同的元素。

如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

例子 1

下面的例子把 css(), slideUp(), and slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动:

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

如果需要,我们也可以添加多个方法调用。

提示:当进行链接时,代码行会变得很差。不过,jQuery 在语法上不是很严格;您可以按照希望的格式来写,包含折行和缩进。

例子 2

这样写也可以运行:

$("#p1").css("color","red")
  .slideUp(2000)
  .slideDown(2000);
jQuery 会抛掉多余的空格,并按照一行长代码来执行上面的代码行。

jQuery
拥有可操作 HTML 元素和属性的强大方法。

jQuery DOM 操作

jQuery 中非常重要的部分,就是操作 DOM 的能力。

jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

提示:DOM = Document Object Model(文档对象模型)

DOM 定义访问 HTML 和 XML 文档的标准:

“W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容、结构以及样式。”

获得内容 - text()、html() 以及 val()

三个简单实用的用于 DOM 操作的 jQuery 方法:

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值

下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容:

实例

$("#btn1").click(function(){
  alert("Text: " +
$("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " +
$("#test").html());
});

下面的例子演示如何通过 jQuery val() 方法获得输入字段的值:

实例

$("#btn1").click(function(){
  alert("Value: " +
$("#test").val());
});

获取属性 - attr()

jQuery attr() 方法用于获取属性值。

下面的例子演示如何获得链接中 href 属性的值:

实例

$("button").click(function(){
 
alert($("#w3s").attr("href"));
});

亲自试一试

下一章会讲解如何设置(改变)内容和属性值。

jQuery(
selector, [ context ] )

该语法有以下几种用法:

用法
1
:设置选择器环境

语法

jQuery(selector,
[context])

默认情况下,选择器从文档根部对 DOM 进行搜索。不过,可以为 $() 设置可选的 context 参数。

例如,如果我们希望在一个 callback 中搜索一个元素,可以限定下面的搜索:

实例

$("div.foo").click(function()
{
  $("span",
this).addClass("bar");
});

由于我们已经将 span 选择器限定到 this 这个环境中,只有被点击元素中的 span 会得到附加的 class。

在内部,选择器环境是通过 .find() 方法实现的,因此
$("span", this) 等价于
$(this).find("span")。

jQuery 的核心功能都是通过这个函数实现的。jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由
CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。

默认情况下, 如果没有指定 context 参数,$() 将在当前的 HTML document 中查找 DOM 元素;如果指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。在 jQuery
1.3.2 以后,其返回的元素顺序等同于在
context 中出现的先后顺序。

用法
2
:使用
DOM
元素

语法

jQuery(element)

该函数允许我们通过使用以其他方式找到的 DOM 元素来创建 jQuery 对象。该功能通常的用法是,对已经通过 this 关键字传递到 callback 函数的元素调用 jQuery 的方法:

实例

$("div.foo").click(function()
{
  $(this).slideUp();
});

此例会在元素被点击时使用滑动动画对其进行隐藏。由于处理程序接受的 this 关键词中的被点击项目是纯的 DOM 元素,因此在对其调用 jQuery 的方法之前,必须用 jQuery 对象包装该元素。

这个函数也可以接收 XML 文档和 Window 对象(虽然它们不是 DOM 元素)作为有效的参数。

当 XML 数据从
Ajax 调用中返回后,我们可以使用
$() 函数通过
jQuery 对象包装该数据。一旦完成,我们就可以使用
.find() 和其他
DOM 遍历方法来取回
XML 结构中单个元素。

用法
3
:克隆
jQuery
对象

语法

jQuery(jQuery
object
)

当以参数的形式向 $() 函数传递 jQuery 对象后,会创建一个该对象的副本。与初始对象一样,新的 jQuery 对象引用相同的 DOM 元素。

用法
4
:返回空的集合

语法

jQuery()

对于 jQuery 1.4,调用无参数的
jQuery() 方法会返回空的
jQuery 集合。在之前版本的
jQuery 中,这样会返回包含
document 节点的集合。

jQuery(
html, [ ownerDocument ] )

该语法有以下几种用法:

用法
1
:创建新的元素

语法

jQuery(html,[ownerDocument])

你可以传递一个手写的 HTML 字符串,或者由某些模板引擎或插件创建的字符串,也可以是通过
AJAX 加载过来的字符串。但是在你创建
input 元素的时会有限制,可以参考第二个示例。

当然这个字符串可以包含斜杠 (比如一个图像地址),还有反斜杠。当你创建单个元素时,请使用闭合标签或 XHTML 格式。例如,创建一个 span ,可以用
$("<span/>") 或
$("<span></span>") ,但不推荐 $("<span>")。在 jQuery 中,这个语法等同于
$(document.createElement("span"))。

如果以参数的形式将字符串传递给 $(),jQuery 会检查字符串是否是 HTML (比如,字符串某些位置存在标签)。如果不是,则把字符串解释为选择器表达式,请见上面的讲解。但如果字符串是
HTML 片段,则
jQuery 试图创建由该
HTML 片段描述的
DOM 元素。然后会创建并返回一个引用这些
DOM 元素的
jQuery 对象:

实例

$("<p
id="test">My <em>new</em>
text</p>").appendTo("body");

如果 HTML 片段比不含属性的简单标签更复杂,如同上面例子中的
HTML,那么元素实际的创建过程是由浏览器的
innerHTML 机制完成的。具体地讲,jQuery
会创建新的
<div> 元素,然后为传入的
HTML 片段设置元素的
innerHTML 属性。当参数只是简单的标签,比如$("<img
/>") 或
$("<a></a>"),jQuery 会通过内生的
JavaScript createElement() 函数来创建元素。

要确保跨平台兼容性,片段的结构必须良好。能够包含其他元素的标签必须成对出现(带有关闭标签):

$("<a
href="http://jquery.com"></a>");

不过,jQuery 也允许类似 XML 的标签语法:

$("<a/>");

无法包含其他元素的标签可以关闭,也可以不关闭:

$("<img
/>");
$("<input>");

用法
2
:设置属性和事件

语法

jQuery(html,props)

对于 jQuery 1.4,我们可以向第二个参数传递一个属性映射。该参数接受能够传递给
.attr() 方法的属性的超集。此外,可以传递任意的事件类型,并可以调用下面的
jQuery 方法:val,
css, html, text, data, width, height, or offset.

注意,Internet Explorer 不允许你创建 input 元素并改变其类型;您必须使用例如
"<input type="checkbox" />" 来规定类型。

实例

创建一个 <input> 元素,同时设定 type 属性、属性值,以及一些事件。

$("<input>",
{
  type: "text",
  val: "Test",
  focusin: function() {
    $(this).addClass("active");
  },
  focusout: function() {
   
$(this).removeClass("active");
  }
}).appendTo("form");

jQuery( callback
)

允许你绑定一个在 DOM 文档载入完成后执行的函数。

该函数的作用如同 $(document).ready() 一样,只不过用这个函数时,需要把页面中所有需要在
DOM 加载完成时执行的其他
$() 操作符都包装到其中来。尽管从技术上来说,这个函数是可链接的,但真正以这种方式链接的情况并不多。

例子

当DOM加载完成后,执行其中的函数:

$(function(){
  //
文档就绪
});

时间: 2024-10-06 08:41:41

jQuery教程总结的相关文章

jQuery教程 - Ajax之load()方法

jQuery教程 - Ajax之load()方法 标签: jqueryajaxxmlhttprequesthtmlcallback 2009-10-05 14:54 3700人阅读 评论(3) 收藏 举报  分类: jQuery(7)  版权声明:本文为博主原创文章,未经博主允许不得转载. jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是laod().$.get()和$.post()方法,第3层是$.getScript()和$.getJSON(

jQuery 教程

jQuery 教程简介 JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用).events.实现动画效果,并且方便地为网站提供AJAX交互.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应

jquery教程-Jquery 获取标签个数 size()函数用法

jquery教程-Jquery 获取标签个数 size()函数用法,size() 方法返回被 jQuery 选择器匹配的元素的数量. 语法 $(selector).size() jQuery 对象中元素的个数. 这个函数的返回值与 jQuery 对象的'length' 属性一致. 用途:可用于统计某个页面中某些项的数量.比如要统计语文成绩小于100的记录数,可以给小于100 的字段赋上<font class="xx">oo</font>.统计出此标签的数量即得结

JQuery教程

jQuery简介: jQuery是继Prototype之后又一个优秀的JavaScript库,集JavaScript,CSS,DOM,Ajax于一体的强大框架体系.jQuery凭借简洁的语 法和跨浏览器的兼容性,极大简化了遍历HTML文档,操作DOM,处理事件,执行动画和开发Ajax的代码,从而广泛应用于Web应用开发,如 导航菜单,轮播广告,网页换肤等方面. 语法: $(document).ready(function(){ //执行代码 }) //可以简化为: $(function(){ /

Jquery教程(一)

一.何为Jquery JQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作.由John Resig在2006年1月的BarCamp NYC上发布第一个版本.目前是由 Dave Methvin 领导的开发团队进行开发.全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和

jQuery教程详解(一)

PS--了解JQuery Query是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功

Jquery教程 1.jquery的基础选择器

看这篇文章时,建议有一定的HTML,CSS,javascript基础 jQuery是一个兼容多浏览器的,轻量级的javascript库,我们做前段开发时可以用jquery做到以下几点: 1.找到HTML中的元素 2.改变HTML的内容 3.根据用户的反馈,比如按下按钮页面做出相应的动作 4.使用动画效果和网络交互 5.不刷新页面而改变页面的内容 首先理解什么是DOM,它是Document Object Model的缩写,简单来说,就是浏览器加载HTML时生成的树状结构.如下图: 浏览器在加载DO

Jquery教程 2.jquery的过滤性选择器

:first过滤器:$("li:last").css("background-color", "red") 得到li元素的最后一个子节点. $("li:last")<==>$("li").last(); 注:这两个的效果相同,但是后者速度更快,推荐用后者 $("li:first")<==>$("li").first(); $("li&

jQuery学习-w3cschool-(1)jQuery 教程

一.jQuery 简介 (1)???使用 Google 的 CDN引入jQuery库: <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs /jquery/1.4.0/jquery.min.js"></script> </head> (2)???使用 Microsoft 的 CDN引入jQuery库: <h