锋利的jQuery---学习之旅(一)

        只要懂的HTML和CSS就可以完成静态页面,很多项目中有多部分都是由静态构成,但是如果每个页面需要响应事件或者一些界面效果的时候就需要js来控制了,jQuery是js的一个封装的库,提供了非常便捷好用的js封装库,用专业的术语来说就是jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JS开发人员遍历HTML文档、操作DOM、处理时间、执行动画和开发Ajax的操作。其独特而又优雅的代码风格改变了JS程序员的设计思路和编写程序的方式。

      首先我对JS的一些基本的用法和构建比较了解,但是没有系统的学习过,所以我通过《锋利的JQuery》开始了我的学习之旅。这本有个特点就是把jQuery和DOM进行对比讲解,如果比较了解DOM操作的人去看肯定是事半功倍,但是我不了解DOM操作 所以有些内容我就跳过了,目前我看了三章,主要最大收获有下面几点:

1.jQuery写法规范问题

        之前在项目中我看见过如下类似代码:

$(".level1>a").click(function(){

     $(this).addClass("current")

     .next().show()

     .parent().siblings().children("a").removeClass("current")

     .next.hide();

     return false;

})

       我一开始认为是代码排版除了问题于是就进行了更改

$(this).addClass("current").next().show().parent().siblings().children("a").removeClass("current").next.hide();

改成了一行。

       而这种做法是不好的

       这一句代码作用是当鼠标单击到a元素(它是class含有leve1的子元素)的时候,给其添加一个名为current的class,然后将紧邻其后面的元素显示出来,同时将它的父辈的同辈元素内部的子元素<a>都去掉一个名为current的class,并且将紧邻它们后面的元素都隐藏。

        也就是说这一句代码里进行了多个操作,仅仅只是做到了行为和内容的分离,当别人阅读这句代码时就费劲了。这个时候就需要有层次结构和规范的书写再加上注释就大大增加了可读性和可维护性。

       $(this).addClass("current")  //给当前元素添加“current”样式

       .next().show()                       //下一个元素显示

       .parent().siblings().children("a").removeClass("current")  //父元素的同辈元素的子元素<a>移除“current”格式

       .next.hide();                              //它们的下一个元素隐藏

        return false;

      这里就是第一个收获------jQuery有层次结构和规范的书写

     (1)对于同一个对象不超过3个操作的,可以直接写成一行。

     (2)对于同一个对象的较多操作,建议每行写一个操作

     (3)对于多个对象的少量操作,可以每个对象写一行,如果涉及子元素,可以考虑适当地缩进。

2.下拉框左右选择项的添加


        实现如下功能:

        (1)将选中的选项添加给对方

        (2)将全部选项添加给对方

        (3)双击某个选项将其添加给对方

         $('#add').click(function(){

                var options = $('select option:selected');

                options.appentTo("#select2");

        } )//将选中的选项添加给对方

       $(#add_all").click(function(){

                var option = $('#select option');

                option.appentTo('#select2');

      })//将全部选项添加给对方

     $('#select').dblclick(function(){

          var options = $("option:select".this) ;

          option.appentTo('#select2');

} )/双击某个选项将其添加给对方

3.其他一些简单的学习笔记

      //选取#prev之后的所有的同辈div元素

     $("#prev~div").css("background","#bbffaa")

     //同上

     $("#prev").nextAll("div").css("background","#bbffaa")

     //选取#prev所有同辈div元素,无论前后位置

     $("#prev").siblings("div").css("background","#bbffaa");

     改变高度:

     $comment.height( $comment.height()+50);

     改变高度(加个动画):

    $(comment).animate({height:"+=50"}.400);

    选择name为item的checkbox

    $(‘[name-itmes]:checkbox’).attr('check',true);

    全选时,下面的复选框全部被选择

    $("#chickall").click(function(){

        $('[name=items]:checkbox').attr("checked",this.checked);

    }}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,019评论 0 2
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,306评论 0 8
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,316评论 0 2
  • Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $("img...
    扑克脸_457e阅读 554评论 0 1
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    程序员poetry阅读 16,632评论 18 503