jquery学习笔记

前言

暑假的时候虽然说学习过一遍jQuery了,但只是眼过一遍,熟悉了基本的使用并没有做记录,趁着学校这两天学校运动会放假,决定整理一篇jQuery的笔记,方便以后复习,以上均通过w3school学习。


课程章结

jQuery介绍

关键词简介安装语法选择器事件名称冲突

  • 简介:jQuery是一个JavaScript函数库,它的宗旨是“write less,do more”,也就是一个轻量级的"写的少,做的多"的JavaScript库。
  • 安装:
    • 下载jQuery到本地,从本地载入
    • 引用CDN中加载jQuery
      • 使用以下代码可以加载CDN,使用引用CDN的方式有一个很大的优势就是许多用户在访问其他站点的时候已经加载过jQuery,结果就是当这些人访问站点时,会直接从缓存中加载jQuery,从而减少加载时间。而且,大多数CDN都可以确保用户在请求文件时,从最近的服务器上返回响应,从而提高加载速度;
    <head>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
    </script>
    </head> 
    
  • 语法:
    • jQuery的基本语法是$(selector).action()
      • 美元符号定义 jQuery
      • 选择符(selector)"查询"和"查找" HTML 元素
      • action()函数 执行对元素的操作
    • 为了防止文档在完全加载(就绪)之前运行 jQuery 代码,$(document).ready(function(){});将jQuery函数写在这个函数中
  • 选择器
    • 常见的选择器有以下几种:
      • 元素选择器:$('p')
      • id选择器:$('#id')
      • .class选择器:$(".class")
      • $('p.test')表示选择类别名为test的p标签
      • $("a[target='_blank']"):表示选取所有target属性值为_blanka标签
      • 更多可参考jquery选择器手册
  • 事件
    • jQuery事件处理方法是jQuery的核心函数,事件处理程序指的是当HTML中发生某些事件所调用的方法,也叫作“触发”;(通常把jQuery代码放在<head>部分的事件处理方法中;详细的事件参考jQuery事件手册
    • 可以分为:鼠标事件(click),键盘事件(keypress),表单事件(submit),文档/窗口事件(load、scroll)等等
    • 实例:
      • $(this).hide() - 隐藏当前元素
      • $("p").hide() - 隐藏所有段落
      • $("p .test").hide() - 隐藏所有 class="test" 的段落
      • $("#test").hide() - 隐藏所有 id="test" 的元素
      • $('p').click(function(){});-点击p元素执行函数
  • 名称冲突
    • 由于其他库也可能使用$符号,那么就会引起冲突,jQuery中使用noConflict()方法来解决这个问题
    • 注意事项
      • 把所有的jQuery代码置于事件处理函数中;
      • 把所有事件处理函数置于文档就绪事件处理器中;
      • 把jQuery代码置于单独的.js文件中;
      • 如果存在名称冲突,则重命名jQuery库;

示例
<iframe height='265' scrolling='no' title='jQuery1' src='//codepen.io/longtean/embed/vmGQyj/?height=265&theme-id=0&default-tab=html,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a href='https://codepen.io/longtean/pen/vmGQyj/'>jQuery1</a> by LongTean (<a href='http://codepen.io/longtean'>@longtean</a>) on <a href='http://codepen.io'>CodePen</a>.
</iframe>

jquery效果

关键词隐藏显示淡入淡出滑动动画stop()callback方法chaining

  • 显示隐藏
    • show(),hide(),比如隐藏的使用语法为:$('selector').hide(speed,callback),其中speed为速度,callback为完成隐藏动作后执行的函数,另外,toggle()可以显示和隐藏
  • 淡入淡出
    • 有fadeIn(),fadeToggle(),fadeTo(),使用语法同上,fadeTo(speed,opacity,callback)可以改变透明度。
  • 滑动
    • slideDown(),slideToggle(speed,callback)
  • 动画
    • animate()方法,使用语法为$(selector).animate({params},speed,callback);必需的 params 参数定义形成动画的 CSS 属性,可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒,可选的 callback 参数是动画完成后所执行的函数名称。
      • 例:点击按钮,将div元素向右移动250px的同时,将透明度变为0.5且高度变为150px宽边为150px
      $("button").click(function(){
      $("div").animate({
          left:'250px',
          opacity:'0.5',
          height:'150px',
          width:'150px'
          });
      });  
      
      • 需要注意的是css属性名必须像这么写:marginLeft。。。骆驼命名法吧
  • stop()
    • 用来在动画或效果完成前对他们停止,使用语法$(selector).stop(stopAll,goToEnd);,其中可选参数stopAll规定是否应该清除动画队列,默认是false,即仅停止活动的动画,但允许队列中的其他动画执行;可选参数goToEnd表示是否立即完成当前动画,默认为false;
  • callback()
    • 此函数在当前动画100%完成之后执行;因为JS语句是逐一执行的,为了避免因为动画还没执行完成而造成动画与之后的语句之间可能产生的错误或者页面冲突,建议以参数的形式添加Callback函数;
  • chaining
    • Chaining允许我们在一条语句中添加多个方法,例如$('p').css('color', 'red').slideUp(2000).slideDown(2000);,这是p元素就会先改变css样式,然后收缩,最后张开;
      示例
      <iframe height='265' scrolling='no' title='jQuery2' src='//codepen.io/longtean/embed/BRKbQv/?height=265&theme-id=0&default-tab=js,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a href='https://codepen.io/longtean/pen/BRKbQv/'>jQuery2</a> by LongTean (<a href='http://codepen.io/longtean'>@longtean</a>) on <a href='http://codepen.io'>CodePen</a>.
      </iframe>

jquery HTML

关键词捕获设置添加删除css类css()尺寸

  • 捕获
    • 操作DOM的常用方法
      • text() - 设置或返回所选元素的文本内容
      • html() - 设置或返回所选元素的内容(包括 HTML 标记)
      • val() - 设置或返回表单字段的值
    • 获取属性的方法
      • attr()- 用于获取属性值
  • 设置
    • 设置内容也是用上一节提到的三个函数,不过需要在括号中加入需要设置的内容;
    • 同时需要知道,这三个jQuery方法都拥有回调函数,函数有两个参数,分别为被选元素列表中当前元素的下标以及原始值,text()、html() 以及 val() 的回调函数;
    • 利用attr()来设置属性时可以同时设置多个属性,属性之间利用逗号隔开,此方法同样具有回调函数;
  • 添加元素
    • 利用jQuery可以很容易的添加新元素,具体有如下四个方法
      • append()- 在被选元素的结尾插入内容或元素
      • prepend()-在被选元素的开头插入内容或元素;
      • after()-在被选元素之后插入内容或元素;
      • before()-在被选元素之前插入内容或元素;
      • append()prepend()方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML,或者通过 JavaScript 代码和 DOM 元素。

      注意:append()在一个元素的尾部添加内容,不添加新节点,而after是在被选元素之后添加内容,添加了新节点。

  • 删除
    • 删除元素和添加元素类似,有以下几个方法
      • remove() -删除被选元素及其子元素,括号中可添加选择器,用于删除符合选择器条件的元素及其子元素;
      • empty()-从被选元素中删除子元素;
  • css类
    • 利用jQuery可以很容易的操作css元素,主要方法有
      • addClass()-向被选元素添加一个或多个类(添加多个类的时候类名称之间用空格隔开);
      • removeClass()-从被选元素删除一个或多个类;
      • toggle()-对被选元素添加/删除类的切换操作;
  • css()
    • 设置或返回被选元素的一个或多个样式属性,语法为css('propertyName')如果有多个满足被选条件,则只返回第一个元素的属性;
    • 如需设置CSS属性,则需使用语法为css('propertyName', 'value'),此时将所有满足条件的元素的样式都设置成目标样式;
  • 尺寸
    • 通过jQuery很容易处理元素和浏览器窗口的尺寸,主要的方法如下:
      • width()-设置或返回元素的宽度(不包括内边距、边框和外边距),如果对象为document或者window,则表示返回HTML文档或者浏览器窗口的宽度和高度;如果在括号中加入数字,则表示将对应的尺寸设置为对应的值;
      • height()-设置或返回元素的高度(不包括内边距、边框和外边距);
      • innerWidth()-返回元素的宽度(包括内边距);
      • innerHeight()-返回元素的高度(包括内边距);
      • outerWidth()-返回元素的宽度(包括内边距和边框),如果括号中增加参数‘true’则表示返回包括内外边距及边框的宽度;
      • outerHeight()-返回元素的高度(包括内边距和边框),如果括号中增加参数‘true’则表示返回包括内外边距及边框的高度;

示例
<iframe height='265' scrolling='no' title='jQuery3' src='//codepen.io/longtean/embed/wdWgBE/?height=265&theme-id=0&default-tab=js,result&embed-version=2' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%;'>See the Pen <a href='https://codepen.io/longtean/pen/wdWgBE/'>jQuery3</a> by LongTean (<a href='http://codepen.io/longtean'>@longtean</a>) on <a href='http://codepen.io'>CodePen</a>.
</iframe>

jQuery遍历

关键词遍历祖先后代同胞过滤

  • 遍历
    • 遍历用于根据其相对于其他元素的关系来查找或者选取HTML元素;
    • DOM遍历:遍历方法中最大的种类是树遍历tree-traversal
  • 祖先
    • 祖先元素包括父元素、祖父元素等等,常用的方法为:
      • parent()-返回被选元素的直接父元素;
      • parents()-返回被选元素的所有祖先元素,其中甚至包括文档的根元素;
      • parentsUntil()-返回介于两个给定元素之间的祖先元素;
  • 后代
    • 与祖先相对的,后代指的是子、孙、曾孙等,常用的方法为:
      • children()-返回被选元素的直接子元素;
      • find()-返回被选元素的被find的元素,包括所有后代;
  • 同胞
    • 同胞拥有相同的父元素,常用的方法为:
      • siblings():返回所有被选元素的同胞元素;
      • next():返回被选元素的下一个同胞元素;
      • nextAll():返回被选元素的所有跟随的同胞元素;
      • nextUntil():返回介于两个给定参数之间的所有跟随的同胞元素;
      • prev():返回被选元素的上一个同胞元素;
      • prevAll():返回被选元素的所有前面的同胞元素;
      • prevUntil():返回介于两个给定参数之间的所有的同胞元素;
  • 过滤
    • 缩小搜索元素的范围,常用的方位有以下几种:
      • first():返回被选元素的首个子元素;
      • last():返回被选元素的最后一个元素;
      • eq():返回被选元素中带有指定索引号的元素;
      • filter():返回符合匹配标准的元素集合;
      • not():返回不匹配标准的所有元素集合;

jquery Ajax

AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。这一章我准备写一篇专门的博客来介绍,附上教程ajax教程.


总结

写了这么多,不仅是一种分享,希望更多地人看到,能对他们有所帮助,也是自己的一种总结,写在笔记本上的笔记会只属于自己,而写在这里的笔记,属于我们。
 共勉

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

推荐阅读更多精彩内容

  • 1:jQuery节点创建与属性的处理 创建元素节点:可以有几种方式,后面会慢慢接触。常见的就是直接把这个节点的结构...
    码农小杨阅读 598评论 0 1
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 652评论 0 3
  • jQuery 函数整理 show(参数) hide(参数) html('参数')没有参数为获取值 text('参数...
    GodlinE阅读 275评论 0 1
  • 看书时随手整理的jQuery的相关内容及API,之后会将相应的功能与JavaScript进行比对整理。 jQuer...
    Ginkela阅读 217评论 0 1
  • 学习目标 掌握使用jQuery操作样式 掌握使用jQuery操作DOM 能使用jQuery绑定事件 能使用jQue...
    孤意的学习笔记阅读 361评论 0 0