[转]从零开始学习jQuery (一) 入门篇
2009-09-29 09:40
351 查看
作者:张子秋
一.HelloWorldjQuery
按照惯例,我们来编写jQuery的HelloWorld程序,来迈出使用jQuery的第一步.在本文最后可以下本章的完整源代码.
1.下载jQuery类库
jQuery的项目下载放在了GoogleCode上,下载地址:上面的地址是总下载列表,里面有很多版本和类型的jQuery库,主要分为如下几类:
min:压缩后的jQuery类库,在正式环境上使用.如:
vsdoc:在VisualStudio中需要引入此版本的jquery类库才能启用智能感知.如:
release包:里面有没有压缩的jquery代码,以及文档和示例程序.如:
2.编写程序
创建一个HTML页面,引入jQuery类库并且编写如下代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>HelloWorldjQuery!</title> <scripttype="text/javascript"src="scripts/jquery-1.3.2-vsdoc2.js"></script> </head> <body> <divid="divMsg">HelloWorld!</div> <inputid="btnShow"type="button"value="显示"/> <inputid="btnHide"type="button"value="隐藏"/><br/> <inputid="btnChange"type="button"value="修改内容为HelloWorld,too!"/> <scripttype="text/javascript"> $("#btnShow").bind("click",function(event){$("#divMsg").show();}); $("#btnHide").bind("click",function(event){$("#divMsg").hide();}); $("#btnChange").bind("click",function(event){$("#divMsg").html("HelloWorld,too!");}); </script> </body> </html>
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
效果如下:
页面上有三个按钮,分别用来控制HelloWorld的显示,隐藏和修改其内容.
此示例使用了:
(1)jQuery的Id选择器:$("#btnShow")
(2)事件绑定函数bind()
(3)显示和隐藏函数.show()和hide()
(4)修改元素内部html的函数html()
在接下来的教程中我们将深入这些内容的学习.
二.启用VisualStudio对jQuery的智能感知
首先看一下VisualStudio带给我们的智能感知惊喜.要让VisualStudio支持智能感知,需要下列条件:安装VS2008SP1
下载地址:
安装VS2008PatchKB958502以支持"-vsdoc.js"Intellisense文件.
该补丁会导致VisualStudio在一个JavaScript库被引用时,查找是否存在一个可选的"-vsdoc.js"文件,如果存在的话,就用它来驱动JavaScriptintellisense引擎。这些加了注释的"-vsdoc.js"文件可以包含对JavaScript方法提供了帮助文档的XML注释,以及对无法自动推断出的动态JavaScript签名的另外的代码intellisense提示。你可以在"
必须要引用vsdoc版本的jquery库
<scripttype="text/javascript"src="scripts/jquery-1.3.2-vsdoc2.js"></script>.csharpcode,.csharpcodepre { font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-color:#ffffff; /*white-space:pre;*/ } .csharpcodepre{margin:0em;} .csharpcode.rem{color:#008000;} .csharpcode.kwrd{color:#0000ff;} .csharpcode.str{color:#006080;} .csharpcode.op{color:#0000c0;} .csharpcode.preproc{color:#cc6633;} .csharpcode.asp{background-color:#ffff00;} .csharpcode.html{color:#800000;} .csharpcode.attr{color:#ff0000;} .csharpcode.alt { background-color:#f4f4f4; width:100%; margin:0em; } .csharpcode.lnum{color:#606060;}在编写脚本的时候,甚至刚刚输入"$"的时候,VS可以智能提示:
在使用方法时,还会有更多的提示:
有了智能感知我们编写javascript变得和C#一样快速,便捷,舒服.大部分情况可以一次编写成功而不用再为了一个大小写而查询javascript帮助文件.能够让VisualStudio对jQuery实现智能感知的前提是要引入vsdoc版本的jQuery类库.示例中我们引入了"jquery-1.3.2-vsdoc2.js"文件.如果引用其他版本比如min版本的jQuery类库就无法启用智能提示.但是在正式环境下,我们必须要使用"min"版本的jquery库文件,以1.3.2版本号为例,各个版本的大小如下:
其中第一个是未压缩的jquery库.如果启用gzip压缩并且使用min版本的jquery.js可以在传输过程中压缩到19KB.
注意,如果我们更新了脚本,可以通过"Ctrl+Shift+J"快捷方式更新VisualStudio的智能感知,或者单击编辑->IntelliSense->更新JScriptIntellisense:
为了即能在VisualStudio中增加脚本提示,又能在上线的时候使用min版本的脚本库,我们一般是用如下方式引入jQuery库:
1.控制编译结果
<scripttype="text/javascript"src="scripts/jquery-1.2.6.min.js"></script> <%if(false) {%> <scripttype="text/javascript"src="scripts/jquery-1.3.2-vsdoc2.js"></script> <%}%>.csharpcode,.csharpcodepre { font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-color:#ffffff; /*white-space:pre;*/ } .csharpcodepre{margin:0em;} .csharpcode.rem{color:#008000;} .csharpcode.kwrd{color:#0000ff;} .csharpcode.str{color:#006080;} .csharpcode.op{color:#0000c0;} .csharpcode.preproc{color:#cc6633;} .csharpcode.asp{background-color:#ffff00;} .csharpcode.html{color:#800000;} .csharpcode.attr{color:#ff0000;} .csharpcode.alt { background-color:#f4f4f4; width:100%; margin:0em; } .csharpcode.lnum{color:#606060;}这是网上推荐的方式.编译后的页面上只有min版本的引用,同时在开发时能够享受到智能感知.但是注意这种方式引用的min类库只能是1.2.6或者之前的版本号.最新的1.3.2的所有非vsdoc版本的jquery库引用后都会导致JScriptIntellisense更新出错.这是1.3.2版本的一个bug,期待后续版本中解决.其实大家完全可以使用1.2.6版本的min库,本教程涉及的jquery功能,1.2.6版本基本都支持.
我们使用了if(false)让编译后的页面不包含vsdoc版本jquery库的引用,同样的思路还可以使用比如将脚本引用放入一个PlaceHolder并设置visible=fasle等.
2.使用后端变量
为了能使用1.3.2版本的min库,我们只能通过将脚本引用放在变量里,通过页面输出的方式,此种方式可以正常更新JScriptIntellisense.但是可能有人和我一样不喜欢在前端使用变量:<asp:PlaceHolderVisible="false"runat="server"> <scripttype="text/javascript"src="scripts/jquery-1.3.2-vsdoc2.js"></script> </asp:PlaceHolder> <%=jQueryScriptBlock%>.csharpcode,.csharpcodepre { font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-color:#ffffff; /*white-space:pre;*/ } .csharpcodepre{margin:0em;} .csharpcode.rem{color:#008000;} .csharpcode.kwrd{color:#0000ff;} .csharpcode.str{color:#006080;} .csharpcode.op{color:#0000c0;} .csharpcode.preproc{color:#cc6633;} .csharpcode.asp{background-color:#ffff00;} .csharpcode.html{color:#800000;} .csharpcode.attr{color:#ff0000;} .csharpcode.alt { background-color:#f4f4f4; width:100%; margin:0em; } .csharpcode.lnum{color:#606060;}后台声明变量:
protectedstringjQueryScriptBlock=@"<scripttype=""text/javascript""src=""scripts/jquery-1.3.2.min.js""></script>";
.csharpcode,.csharpcodepre { font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-color:#ffffff; /*white-space:pre;*/ } .csharpcodepre{margin:0em;} .csharpcode.rem{color:#008000;} .csharpcode.kwrd{color:#0000ff;} .csharpcode.str{color:#006080;} .csharpcode.op{color:#0000c0;} .csharpcode.preproc{color:#cc6633;} .csharpcode.asp{background-color:#ffff00;} .csharpcode.html{color:#800000;} .csharpcode.attr{color:#ff0000;} .csharpcode.alt { background-color:#f4f4f4; width:100%; margin:0em; } .csharpcode.lnum{color:#606060;}
三.在独立的.JS文件中启用脚本智能感知
上面我们解决了在页面中智能感知的问题,其实在独立的.js文件中我们同样可以启用脚本的智能感知,在IntellisenseDemo.js文件中,添加如下语句:///<referencepath="jquery-1.3.2-vsdoc2.js"/>
更新JScriptIntellisense,会发现在脚本中也启用了智能提示:.csharpcode,.csharpcodepre { font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-color:#ffffff; /*white-space:pre;*/ } .csharpcodepre{margin:0em;} .csharpcode.rem{color:#008000;} .csharpcode.kwrd{color:#0000ff;} .csharpcode.str{color:#006080;} .csharpcode.op{color:#0000c0;} .csharpcode.preproc{color:#cc6633;} .csharpcode.asp{background-color:#ffff00;} .csharpcode.html{color:#800000;} .csharpcode.attr{color:#ff0000;} .csharpcode.alt { background-color:#f4f4f4; width:100%; margin:0em; } .csharpcode.lnum{color:#606060;}
注意,本文中讲解的脚本智能感知不仅适用于jQuery类库,还适用于自己编写的javascript代码.
四.总结
本文简单介绍了jQuery,以及如何搭建脚本开发环境.示例程序没有复杂的功能,可能还无法让没有接触过jQuery的人认识到它的强大.但是仅凭借"多浏览器支持"这一特性,就足以让我们学习并使用jQuery,因为如今想编写跨浏览器的脚本真的是一件困难的事情!在后续文章中我们将深入学习jQuery选择器,事件,工具函数,动画,以及插件等.
本文代码下载:
相关文章推荐
- jQuery 从零开始学习 (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇【转】
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- [乐意黎转载]从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery:一、开天辟地入门篇(子秋出品)
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇
- 从零开始学习jQuery (一) 开天辟地入门篇