个人建议:学习 jQuery 前先掌握基本的 JavaScrpit 语法,特别是对函数要掌握,jQuery 基本上是使用函数。

jQuery 简介

  • jQuery 是一个轻量级 JavaScript 库

  • jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数,需要通过 <script>标签引入 jQuery 库才能进行使用

jQuery 库的三种引入来源

  • 本地引入

    共有两个版本的 jQuery 可供下载 http://jQuery.com:一份是精简过的,另一份是未压缩的(供调试或阅读)

  • 从 Google 加载 CDN jQuery 核心文件( 版本可更换 )

    src = http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js
  • 从 Microsoft 加载 CDN jQuery 核心文件( 版本可更换 )

    src = http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js

jQuery语法

基础语法:$(selector).action()

  • 美元符号($)定义 jQuery

  • 选择符(selector)“ 查询 ” 和 “ 查找 ” HTML 元素

  • jQuery 的 action() 执行对元素的操作

文档就绪函数

  • 文档就绪函数,用于在页面加载成功后执行的指定代码

  • 如果在文档没有完全加载之前就运行函数,操作可能失败

  • 通常该函数用于替换 window.onload 事件,文档就绪函数的执行效率更高

$(document).ready(function(){ code block});

可以简写为:

$(function(){ code block});

jQuery 使用 $ 符号作为 jQuery 的简写

jQuery 标识符

  • 使用 jQuery 全名

jQuery(document).ready(function(){jQuery("button").click(function(){ code block});});
  • 使用 jQuery 简写

$(function(){ $("button").click(function(){ code block });});
  • 自定义 jQuery 别名

var jq = $.noConflict();jq(function(){ jq("button").click(function(){ code block });});

注:因为 javascrpit 某些框架中也使用 $ 作为简写( 就像 jQuery ),noConflict() 方法是为了解决 javascrpit 框架之间符号冲突而定义的方法,它会释放 $ 标识符的控制,这样其他脚本也可以使用这个符号

jQuery 选择器

jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择

jQuery 元素选择器

jQuery 使用 CSS 选择器来选取 HTML 元素

  • $(this) 当前 HTML 元素

  • $("p") 选取 <p> 元素

  • $("p.intro") 选取所有 class="intro" 的 <p> 元素

  • $("p#demo") 选取所有 id="demo" 的 <p> 元素

  • $("div#intro .head") 选取 id="intro" 的 <div> 元素中的所有 class="head" 的元素

jQuery 属性选择器

jQuery 使用 XPath 表达式来选择带有给定属性的元素

  • $("[href]") 选取所有带有href 属性的元素

  • $("[href='#']") 选取所有带有 href 值等于"#" 的元素

  • $("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素

  • $("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素

jQuery CSS 选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性

  • 把所有 p 元素的背景颜色更改为红色:$("p").css("background-color","red")

jQuery 事件

javascript学习交流群:453833554

  • jQuery 事件处理方法是 jQuery 中的核心函数

  • 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用

  • 例子:按钮的点击事件被触发时会调用一个函数

    $("button").click(function() {..some code... } )

常用事件函数

  • $(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时)

  • $(selector).click(function) 触发或将函数绑定到被选元素的点击事件

  • $(selector).change(function) 触发、或将函数绑定到指定元素的 change 事件

  • $(selector).dblclick(function) 触发或将函数绑定到被选元素的双击事件

  • $(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件

  • $(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件

jQuery 效果

javascript学习交流群:453833554

效果通常绑定在某在事件上,例如通过点击按钮产生隐藏效果

常见的用于效果的函数

1.隐藏、显示、切换

-
隐藏 `$(selector).hide(speed,callback)` : `$("p").hide();`-
显示`$(selector).show(speed,callback)` : `$("p").show(1000);`-
切换隐藏/显示`$(selector).toggle(speed,callback)` : `$("p").toggle();`

speed 和 callback 都是可选参数

speed 参数规定显示/隐藏的速度,可选值为:”slow”、”fast” 或毫秒值

callback 参数是显示/隐藏完成后所执行的函数名称

2.淡入、淡出

-
淡入 `$(selector).fadeIn(speed,callback)` : `$("#div1").fadeIn("slow");`-
淡出 `$(selector).fadeOut(speed,callback)` : `$("#div3").fadeOut(3000);`-
切换淡入/淡出 `$(selector).fadeToggle(speed,callback)` : `
$("#div1").fadeToggle();`- 渐变为特定透明度
`$(selector).fadeTo(speed,opacity,callback)`
:`$("#div2").fadeTo("slow",0.4);`

speed 和 callback 都是可选参数,opacity 为必需参数

speed 参数规定淡入/淡出的速度,可选值为:”slow”、”fast” 或毫秒值

callback 参数是显示/隐藏完成后所执行的函数名称

opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)

3.滑动

-
向下滑动 `$(selector).slideDown(speed,callback)` :
`$("#panel").slideDown();`- 向上滑动 `$(selector).slideUp(speed,callback)` :
`$("#panel").slideUp();`- 切换向上滑动/向下滑动 `slideToggle()` :
`$("#panel").slideToggle();`

speed 和 callback 都是可选参数

speed 参数规定向上滑动/向下滑动的速度,可选值为:”slow”、”fast” 或毫秒值

callback 参数是向上滑动/向下滑动完成后所执行的函数名称

4.动画

- 自定义动画 `$(selector).animate({params},speed,callback)`

params 是必需参数, speed 和 callback 是可选参数

params 参数定义形成动画的 CSS 属性

speed 参数规定效果的时长,可选值为:”slow”、”fast” 或毫秒值

callback 参数是动画完成后所执行的函数名称

注: 默认地,所有 HTML 元素都有一个静态位置,且无法移动,如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!

- 停止动画 ·`$(selector).stop(stopAll,goToEnd);`

stopAll 和 goToEnd 都是可选参数

stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行

goToEnd 参数规定是否立即完成当前动画。默认是 false。

默认地,stop() 会清除在被选元素上指定的当前动画

实例

使用绝对值

$("div").animate({ left:'250px', opacity:'0.5', height:'150px', width:'150px' });

使用相对值

$("button").click(function(){ $("div").animate({ left:'250px', height:'+=150px', width:'+=150px' });});

使用队列功能 ( 逐一进行 animate 调用 )

$("button").click(function(){
var div=$("div"); div.animate({height:'300px',opacity:'0.4'},"slow");
div.animate({width:'300px',opacity:'0.8'},"slow");
div.animate({height:'100px',opacity:'0.4'},"slow");
div.animate({width:'100px',opacity:'0.8'},"slow");});

5.方法连接

允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条,这样的话,浏览器就不必多次查找相同的元素。如需链接一个动作,您只需简单地把该动作追加到之前的动作上

例如: 把 css(), slideUp() 和 slideDown() 链接在一起。”p1” 元素首先会变为红色,然后向上滑动,然后向下滑动

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

jQuery 操作 HTML 元素和属性

对内容操作

1.获取内容

- `$(selector).text();` 设置或返回所选元素的文本内容- `$(selector).html();` 设置或返回所选元素的内容(包括 HTML 标记)- `$(selector).val();` 设置或返回表单字段的值

2.设置内容

-
`$(selector).text(string);` 设置所选元素的文本内容- `$(selector).val(string);`
设置所选元素的内容(包括 HTML 标记)- `$(selector).html(string);` 设置表单字段的值

3.回调函数

i:被选元素列表中当前元素的下标

origText:原始(旧的)值

res:以函数新值返回您希望使用的字符串

-
`$(selector).text(function(i,origText){return res;});` 设置或返回所选元素的文本内容-
`$(selector).val(function(i,origText){return res;});` 设置或返回所选元素的内容(包括
HTML 标记)- `$(selector).html(function(i,origText){return res;});`
设置或返回表单字段的值

对属性操作

1.获取属性

- `$(selector).attr("attribute");` 获取指定元素的所选属性

2.设置属性

-
`$(selector).attr("attribute","value");` 设置所选属性的值-
`$(selector).attr({"attribute1":"value1", "attribute2":"value2"});`
同时设置多个属性的值

3.attr() 的回调函数

i : 被选元素列表中当前元素的下标

origValue : 原始(旧的)值

res : 以函数新值返回您希望使用的字符串

- `$(selector).attr("attribute",function(i,origValue){return res});`

对元素/内容操作

与前面的 对内容操作 不同的是:上面的三个方法会将原来的值覆盖,而这里的方法是在原值基础上进行修改

1.添加

参数可以是多个,如果多个含有 html 的内容,则相当于增加了多个 html 元素

-
`$(selector).append("text");` 在被选元素的结尾插入内容-
`$(selector).prepend("text");` 在被选元素的开头插入内容-
`$(selector).prepend("text");` 在被选元素之后插入内容-
`$(selector).before("text");` 在被选元素之前插入内容

2.删除

- `$(selector).remove();` 删除被选元素(及其子元素)- `$(selector).empty();` 从被选元素中删除子元素- `$(selector).remove(selector);` 删除指定选择器的元素

对 CSS 元素操作

前三种方法是针对已经写好的样式

-
`$(selector).addClass("className1 className2");` 向被选元素添加一个或多个类-
`$(selector).removeClass("className1 className2");` 从被选元素删除一个或多个类-
`$(selector).toggleClass("className");` 对被选元素进行添加/删除类的切换操作-
`$(selector).css();`返回样式属性-
`$(selector).css("attribute","value");`设置单个样式属性-
`$(selector).css({"propertyname":"value","propertyname":"value",...});`设置多个样式属性

对尺寸操作

注意参数,中间四种没有没有参数,不能进行设置

-
`$(selector).width("text");` 设置或返回元素的宽度(不包括内边距、边框或外边距)-
`$(selector).height("text");` 设置或返回元素的高度(不包括内边距、边框或外边距)-
`$(selector).innerWidth();`返回元素的宽度(包括内边距)-
`$(selector).innerHeight(");`返回元素的高度(包括内边距)-
`$(selector).outerWidth();`返回元素的宽度(包括内边距和边框)-
`$(selector).outerHeight();` 返回元素的高度(包括内边距和边框)-
`$(selector).outerWidth(true);`返回元素的宽度(包括内边距、边框和外边距)-
`$(selector).outerHeight(true);` 返回元素的高度(包括内边距、边框和外边距)

jQuery 遍历 DOM

祖先

向上遍历 DOM 树

-
`$(selector).parent();` 返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历-
`$(selector).parents();` 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)-
`$(selector).parents(selector);` 返回经过过滤的所有祖先元素,它一路向上直到文档的根元素
(<html>)- `$(selector).parentsUntil() ;`返回介于两个给定元素之间的所有祖先元素

祖先

向下遍历 DOM 树,以查找元素的后代

-
`$(selector).children();` 返回被选元素的所有直接子元素,该方法只会向下一级对 DOM 树进行遍历-
`$(selector).children(selector);` 返回被选元素的经过过滤的子元素,该方法只会向下一级对 DOM 树进行遍历-
`$(selector).find("selector");`
返回被选元素的后代元素,一路向下直到最后一个后代(此方法必须有参数,如果是全部则为 "*" )

同胞

DOM 树中遍历元素的同胞元素

-
`$(selector).siblings(selector);` 返回被选元素的所有同胞元素(selector可选)-
`$(selector).next();` 返回被选元素的下一个同胞元素- `$(selector).nextAll();`
返回被选元素的所有跟随的同胞元素- `$(selector).nextUntil(selecotr);`
返回介于两个给定参数之间的所有跟随的同胞元素- prev(), prevAll() 以及 prevUntil()
方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)

过滤

允许您基于其在一组元素中的位置来选择一个特定的元素

-
`$(selector).first();` 返回被选元素的首个元素- `$(selector).last();`
返回被选元素的最后一个元素- `$(selector).eq();` 返回被选元素中带有指定索引号的元素(索引号从 0 开始)-
`$(selector).filter(selector);` 不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回-
`$(selector).not(selector);` not() 方法与 filter() 相反,返回不匹配标准的所有元素

jQuery Ajax

AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)

简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示

load 方法

- `$(selector).load(URL,data,callback);`方法从服务器加载数据,并把返回的数据放入被选元素中

必需的 URL 参数规定您希望加载的 URL。

可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

可选的 callback 参数是 load() 方法完成后所执行的函数名称

callback 回调函数

$(selector).load(URL,data,function(responseTxt,statusTxt,xhr){});

responseTxt - 包含调用成功时的结果内容

statusTXT - 包含调用的状态

xhr - 包含 XMLHttpRequest 对象

responseTxt - 包含调用成功时的结果内容

statusTXT - 包含调用的状态

xhr - 包含 XMLHttpRequest 对象

get/post 方法

必需的 URL 参数规定您希望请求的 URL

可选的 callback 参数是请求成功后所执行的函数名

- `$.get(URL,callback);`通过 HTTP GET 请求从服务器上请求数据

GET - 从指定的资源请求数据

GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据

- `$.post(URL,data,callback);`通过 HTTP POST 请求从服务器上请求数据

data 是要提交给服务器的数据,如果数据有多个,使用 json 格式

POST - 向指定的资源提交要处理的数据

POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据

回调函数

data : 存有被请求页面的内容

status : 存有请求的状态( success/fail )

function(data,status){ alert("Data: " + data + "Status: " + status); });

注意: ajax 不能访问本地文件,需要解决跨域访问的问题

javascript学习交流群:453833554

超全面!这可能是最全面的 jQuery 知识总结的更多相关文章

  1. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

  2. 超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...

  3. 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17

    黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...

  4. 超全面的JavaWeb笔记day03<JS对象&函数>

    1.js的String对象(****) 2.js的Array对象 (****) 3.js的Date对象 (****) 获取当前的月 0-11,想要得到准确的月 +1 获取星期时候,星期日是 0 4.j ...

  5. [转]超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ GDI+绘图基础 编写图形程序时需要使用GDI(Gr ...

  6. 最全面的 C++ 资源、框架大全

    转载自   http://www.codeceo.com/article/cpp-resource-framework.html#0-tsina-1-99850-397232819ff9a47a7b7 ...

  7. 最全面的 Android 编码规范指南

    最全面的 Android 编码规范指南 本文word文档下载地址:http://pan.baidu.com/s/1bXT75O 1. 前言 这份文档参考了 Google Java 编程风格规范和 Go ...

  8. 最全面的iOS和Mac开源项目和第三方库汇总

    标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...

  9. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛

    非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛 Glenn Berry 大牛会对这个脚本持续更新 -- SQL Server 2012 Diagnost ...

随机推荐

  1. 结对作业-基于GUI的四则运算

    一.需求分析 1.题目要求: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web ...

  2. 201521123076《java程序设计》第四次总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. instanceof可以测试一个对象是否是某个类(或其父类),右边'is a?'左边关系. ...

  3. 201521123038 《Java程序设计》 第四周学习总结

    201521123038 <Java程序设计> 第四周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.通过 ins ...

  4. 关于百度DNS的解析过程

    if现在我用一台电脑,通过ISP接入互联网,那么ISP就会分配给我一个DNS服务器(非权威服务器). now,我的computer向这台ISPDNS发起请求查询www.baidu.com. 首先,IS ...

  5. lintcode 155 二叉树的最小深度

    二叉树的最小深度   描述 笔记 数据 评测 给定一个二叉树,找出其最小深度. 二叉树的最小深度为根节点到最近叶子节点的距离. 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? Ai ...

  6. java.lang.IllegalArgumentException: node to traverse cannot be null!

    查看HQL的语句是否写错了,是否有在From后面加空格.我就是没有加空格报了错误! return sessionFactory.getCurrentSession().createQuery(&quo ...

  7. webservice06#异常#Handler

    1, 异常处理 package com.yangw.soap.service; public class UserException extends Exception { public UserEx ...

  8. .NET 动态脚本语言

    Script.NET (S#) 是一种允许为你的应用程序自定义行为,与本地.NET对象.类型和组件交互动态的脚本语言.托管应用程序本身可以改变一个xml配置脚本运行时的默认行为,更换绑定的方法,属性, ...

  9. servlet生成验证码

    1.因为朋友们都说现在很少用java自带的图形用户接口,所以小白的我就没去看awt和swing组件,因为要抓紧时间学习后面的,完了出去找工作,等以后再回来了解awt和swing:所以制作验证码的代码是 ...

  10. clipboard.js 介绍

    这是著名开源项目 clipboard.js 的 README.md,我把它翻译成中文.发出来,方便自己和他人阅读. 项目地址:https://github.com/zenorocha/clipboar ...