jQuery学习总结(一)

来源:互联网 发布:最新淘宝客的推广方法 编辑:程序博客网 时间:2024/04/30 17:54

 jQuery之前,不得不提下现在也非常流行的mootools框架。在网上,很多人把mootools比作java,把jquery比作perl。我没研究过mootools,也不发表意见,这完全没有意义。只要本身不存在重大缺陷就可以了。用好了都强大。好比Java.NET争论了这么多年,一样的道理。
    jQuery,顾名思义,也就是JavaScript和查询(Query),即是辅助开发的库。是继prototype之后又一个优秀的JavaScript框架。它如暴风雪般席卷WEB前端开发,jQuery已确定成为ASP.NET MVCVisual Studio 2008版本中的正式组成部分,诺基亚手机平台Web Run-Time也将纳入jQuery。所以,请相信,选择jQuery是不会错的。如果你看到这里还有犹豫,那么我再说个理由,应该能打消你的最后疑虑了。200912月份Tiobe编程语言排行榜JavaScript升到第8名,并且在上升势头最强劲的语言中排名第3位。我在这里不是想说排行榜的话题,因为那又会引发一场说不完的争论。我的意思是,排行榜不能说明一切问题,但至少能够说明,现在用哪种语言的人多,人多则说明有活力,相应的其它各种资源也会较丰富。JavaScript脚本已经深入WEB应用之中。而作为优秀的JavaScript框架,它的前景不用怀疑。除非出现一个比jQuery更牛B,更优秀的东东。
    
我不打算像写教程那样,把jQuery的基础用法都罗列出来,那会很无趣,也没意义。网上这方面的知识随便搜一下就一大堆。我准备从项目的角度出发,写出自己的感受。当然,一份API帮助文档是必不可少的,在最末尾提供了jQuery-1.2.6.chm下载,需者自取。
    
首先我们要知道,JavaScript开发基本可以分为以下四个部分:
        
1、查找DOM元素进行取值和赋值的操作、在特定节点位置进行内容的取值和赋值操作(innerHTML)。
        2
、针对元素进行事件监听。
        3
、通过操作DOM节点结合改变元素的CSS样式,达到绚丽的动画效果。
        4
、对DOM元素进行Ajax操作。
    
对于jQuery来说,可以对这四部分提供完美的实现:
        
ajQuery拥有强大的选择器,可以查找任意的DOM元素。同时jQuery对象实现链式语法,能够很方便简洁的写出强大的操作。比如操作属性:$("#chkbox").attr("checked","checked").attr("disabled","disabled")。可以这样继续链下去,包括增加事件、样式等等操作。
        b
、在页面加载时给DOM绑定事件。$("#chkbox").click(function(){ alert("hello jquery!"); });
        c
show()hide()jQuery中最基本的动画。对元素显示和隐藏,当然,我们还可以实现其它的更复杂的动画。
        d
$.ajax(options)jQuery中最底层的Ajax实现。除此之外,还可以使用$.get()$.post()实现Ajax请求。
    了解了以上内容后,jQuery带给我们的另一个惊喜,在于它的API支持当前多种主流浏览器,使得你不用再为了IEFireFox等兼容问题而抓头发伤脑筋。在以前做项目的时候,我总是喜欢将行为或样式属性写在DOM中。这是极其不好也极其不规范的一种做法。如今采用jQuery后,我将所有的行为全部从DOM中抽取了出来,放到jQuery初始化函数中进行绑定。而且jQuery的初始化函数比window.onload的加载速度更快。

$(function(){
    $("#chkbox").click(
        
function(){
            alert("hello jQuery!");
        }
    );
});
<input type="checkbox" id="chkbox"/>

    上面是一种简写方法,不管是初始化函数还是绑定事件。推荐采用这种写法。
    
下面这种写法是不可取的,行为一定要和DOM分离:

function chkClick(){
    alert("hello jQuery");
}
<input type="checkbox" id="chkbox" onclick="chkClick()"/>

    不要再把样式写到DOM里面,这是很难维护的一件事情:

<span style="font-size:15pt;color:red">hello jQuery</span>

    应该统一采用CSS文件定义或是定义class类,或是对ID进行定义:

.spanClass{
    font-size:15pt;
    color:red;
}
<span class="spanClass">hello jQuery</span>

#hello_span{
    font-size:15pt;
    color:red;
}
<span id="hello_span">hello jQuery</span>