jQuery中文入门指南,翻译加实例,jQuery的
起点
中文版译者:Keel
此文以实例为基础一步步说明了jQuery的工作方式。现以中文翻译(添加我的补充说明)如下。
如有相关意见或建议请 EMAIL 告知。或者在 BLOG 中留言。
英文原版:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery ,感谢
作者
Jörn Zaefferer 本文发布已征求原作者同意。
说明:在本教程发布之后,得到了几个网友的指正,对部分内容作了修正,但在jQuery版本不断更新的情况下,教程中的某些内容
已经过时(尤其是1.3以上版本),在忠于原文的基础上,我将这部分内容加以标红的补充说明,希望更多的前端开发者能对此文
提出宝贵意见,谢谢! --2009-3-10
另外我认为在学习过程中,有两个API文档你要打开随时查看:
• http://api.jquery.com/ [注:已更新为jquery新地址]
• http://visualjquery.com/
如果想了解更多jQuery及插件信息,可访问本站首页.
以下部分为原文翻译:
jQuery入门指南教程
这个指南是一个对jQuery库的说明,要求读者了解HTML(DOM)和 CSS的一些常识。它包括了一个
简单的Hello World的例子,选择器和事件基础,AJAX、FX的用法,以及如何制作jQuery的插件。
这个指南包括了很多代码,你可以copy它们,并试着修改它们,看看产生的效果。
内容提要
1. 安装
2. Hello jQuery
3. Find me: 使用选择器和事件
4. Rate me: 使用 AJAX
5. Animate me( 让我生动起来 ): 使用 FX
6. Sort me( 将我有序化 ): 使用 tablesorter 插件 ( 表格排序 )
7. Plug me: 制作您自己的插件
8. Next steps( 下一步 )
安装
一开始,我们需要一个jQuery的库,最新的下载可以到这里找到。这个指南提供一个基本包含实例
的包供下载.
下载:jQuery Starterkit
(译者Keel注:一定要下载这个包,光看文章不实践肯定是不行的。)
下载后解压缩,然后用你最喜欢的文本编辑器打开starterkit.html和 custom.js这两个文件。
(译者Keel注:这两个就是例子文件,所有的例子都用这两个例子作出,custom.js写 jQuery代
码,starterkit.html观察效果.建议用editPlus打开)
现在,我们就已经做好了一切准备来进行这个著名的"Hello world"例子.
本章的相关链接:
• Starterkit
• jQuery Downloads
Hello jQuery
在做所有事情之前,我们要让jQuery读取和处理文档的DOM,必须尽可能快地在DOM载入后开始执
行事件,所以,我们用一个ready事件作为处理 HTML文档的开始.看看我们打开的custom.js这个文
件,里面已经准备好了:
$(document).ready(function() {
// do stuff when DOM is ready
});
放一个简单的alert事件在需要等 DOM完成载入,所以我们把任务稍稍变复杂一点:在点击任何一个
链接时显示一个alert.
$(document).ready(function() {
$("a").click(function() {
alert("Hello world!");
});
});
这样在你点击页面的一个链接时都会触发这个"Hello world"的提示。
(译者Keel注:请照此代码修改custom.js并保存,然后用浏览器打开starterkit.html观察效果。)
让我们看一下这些修改是什么含义。$("a") 是一个jQuery选择器(selector),在这里,它选择所
有的a标签(译者Keel注:即
),$号是 jQuery “类”(jQuery "class")的一个别称,
因此$()构造了一个新的jQuery 对象(jQuery object)。函数 click() 是这个jQuery对象的一个
方法,它绑定了一个单击事件到所有选中的标签(这里是所有的a标签),并在事件触发时执行了它
所提供的alert方法.
这里有一个拟行相似功能的代码:
Link
不同之处很明显,用 jQuery不需要在每个a标签上写 onclick事件,所以我们拥有了一个整洁的结
构文档(HTML)和一个行为文档(JS),达到了将结构与行为分开的目的,就像我们使用CSS追求的一样.
下面我们会更多地了解到选择器与事件.
本章的相关链接:
• jQuery Core
• jQuery Selectors
• jQuery Events
Find me:使用选择器和事件
jQuery提供两种方式来选择html的 elements,第一种是用CSS和 Xpath选择器联合起来形成一个
字符串来传送到jQuery的构造器(如:$("div > ul a"));第二种是用jQuery对象的几个
methods(方法)。这两种方式还可以联合起来混合使用。
为了测试一下这些选择器,我们来试着在我们starterkit.html中选择并修改第一个ordered
list.
一开始,我们需要选择这个list本身,这个list有一个ID叫“orderedlist”,通常的
javascript写法是document.getElementById("orderedlist").在 jQuery中,我们这样做:
$(document).ready(function() {
$("#orderedlist").addClass("red");
});
这里将starterkit中的一个CSS样式red附加到了orderedlist上(译者Keel注:参考测试包中
的css目录下的core.css,其中定义了red样式)。因此,在你刷新了starterkit.html后,你将
会看到第一个有序列表(ordered list )背景色变成了红色,而第二个有序列表没有变化.
现在,让我们添加一些新的样式到list的子节点.
$(document).ready(function() {
$("#orderedlist > li").addClass("blue");
});
这样,所有orderedlist中的li都附加了样式"blue"。
现在我们再做个复杂一点的,当把鼠标放在li对象上面和移开时进行样式切换,但只在list的最
后一个element上生效。
$(document).ready(function() {
$("#orderedlist li:last").hover(function() {
$(this).addClass("green");
}, function() {
$(this).removeClass("green");
});
});
还有大量的类似的CSS 和 XPath 例子,更多的例子和列表可以在这里找到。(译者Keel注:入门
看此文,修行在个人,要想在入门之后懂更多,所以这段话的几个链接迟早是要必看的!不会又
要翻译吧...^_^!)
每一个onXXX事件都有效,如onclick,onchange,onsubmit等,都有jQuery等价表示方法(译者
Keel注:jQuery不喜欢 onXXX,所以都改成了XXX,去掉了on)。其他的一些事件,如ready和
hover,也提供了相应的方法。
你可以在 Visual jQuery 找到全部的事件列表,在Events栏目下.
用这些选择器和事件你已经可以做很多的事情了,但这里有一个更强的好东东!
$(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).html( $(this).html() + " BAM! " + i );
});
});
find() 让你在已经选择的element中作条件查找,因此 $("#orderedlist).find("li") 就像 $
("#orderedlist li")一样。each()方法迭代了所有的li,并可以在此基础上作更多的处理。 大
部分的方法,如addClass(), 都可以用它们自己的 each() 。在这个例子中, html()用来获取每个
li的 html文本, 追加一些文字,并将之设置为li的 html文本。(译者Keel注:从这个例子可以
看到.html()方法是获取对象的html代码,而.html('xxx')是设置'xxx'为对象的html代码)
另一个经常碰到的任务是在没有被 jQuery覆盖的DOM元素上call一些方法,想像一个在你用AJAX
方式成功提交后的reset:
$(document).ready(function() {
// use this to reset a single form
$("#reset").click(function() {
$("#form")[0].reset();
});
});
(译者Keel注:这里作者将form的 id也写成了form,源文件有