JQuery使用方法
jQuery是一个快速、简洁且功能强大的JavaScript库。它是为了简化JavaScript编程而创建的,通过提供简洁的API和跨浏览器兼容性,使开发者能够更轻松地处理HTML文档的操纵、事件处理、动画效果、AJAX交互等任务。
jQuery的设计目标是提供一种简单的方式来处理复杂的JavaScript操作。它封装了许多常见的JavaScript任务,使得开发者能够使用更少的代码来实现相同的功能。通过使用jQuery,开发者可以更快速地开发交互性强的网页和Web应用程序。
以下是一些jQuery的特点和功能:
-
DOM操作:jQuery提供了简洁的API来选择和操作HTML文档中的元素。开发者可以使用CSS选择器来选择元素,并使用jQuery提供的方法来修改元素的样式、内容、属性等。
-
事件处理:jQuery简化了事件处理的过程。开发者可以使用jQuery的事件处理方法来绑定事件、触发事件和处理事件。它还提供了方便的方法来处理常见的用户交互事件,如点击、鼠标移动、键盘输入等。
-
动画效果:jQuery提供了丰富的动画效果和过渡效果。开发者可以使用jQuery的动画方法来创建平滑的过渡效果,如淡入淡出、滑动、展开收起等。
-
AJAX交互:jQuery简化了使用AJAX进行服务器交互的过程。它提供了简单的方法来发送AJAX请求、处理响应数据,并支持各种数据格式如JSON、XML等。
-
插件扩展:jQuery拥有一个庞大的插件生态系统,开发者可以使用这些插件来扩展jQuery的功能。这些插件提供了各种各样的功能,如图表绘制、表单验证、轮播图等。
总之,jQuery是一个流行的JavaScript库,它简化了JavaScript编程的复杂性,提供了丰富的功能和简洁的API,使得开发者能够更高效地开发交互性强的网页和Web应用程序。
选择器
实例 | 选取 |
---|---|
$(".intro,.demo") | class 为 “intro” 或 “demo” 的所有元素 |
$(“p:first”) | 整个页面中的第一个 元素 |
$(“p:last”) | 最后一个 元素 |
$(“tr:even”) | 所有偶数 |
$(“tr:odd”) | 所有奇数 |
$(“p:first-child”) | 子节点中第一个 元素 |
$(“p:first-of-type”) | 属于其父元素的第一个 元素的所有 元素 |
$(“p:last-child”) | 属于其父元素的最后一个子元素的所有 元素 |
$(“p:last-of-type”) | 属于其父元素的最后一个 元素的所有 元素 |
$(“p:nth-child(2)”) | 属于其父元素的第二个子元素的所有 元素 |
$(“p:nth-last-child(2)”) | 属于其父元素的第二个子元素的所有 元素,从最后一个子元素开始计数 |
$(“p:nth-of-type(2)”) | 属于其父元素的第二个 元素的所有 元素 |
$(“p:nth-last-of-type(2)”) | 属于其父元素的第二个 元素的所有 元素,从最后一个子元素开始计数 |
$(“p:only-child”) | 属于其父元素的唯一子元素的所有 元素 |
$(“p:only-of-type”) | 属于其父元素的特定类型的唯一子元素的所有 元素 |
$(“div > p”) | 元素的直接子元素的所有 元素 |
$(“div p”) | 元素的后代的所有 元素 |
$(“div + p”) | 每个 元素相邻的下一个 元素 |
$(“div ~ p”) | 元素同级的所有 元素 |
$(“ul li:eq(3)”) | 列表中的第四个元素(index 值从 0 开始) |
$(“ul li:gt(3)”) | 列举 index 大于 3 的元素 |
$(“ul li:lt(3)”) | 列举 index 小于 3 的元素 |
$(“input:not(:empty)”) | 所有不为空的输入元素 |
$(":header") | 所有标题元素 , |
$(":animated") | 所有动画元素 |
$(":focus") | 当前具有焦点的元素 |
$(":contains(‘Hello’)") | 所有包含文本 “Hello” 的元素 |
$(“div:has(p)”) | 所有包含有 元素在其内的 元素 |
$(":empty") | 所有空元素 |
$(":parent") | 匹配所有含有子元素或者文本的父元素。 |
$(“p:hidden”) | 所有隐藏的 元素 |
$(“table:visible”) | 所有可见的表格 |
$(":root") | 文档的根元素 |
$(“p:lang(de)”) | 所有 lang 属性值为 “de” 的 元素 |
$("[href]") | 所有带有 href 属性的元素 |
$("[href=‘default.htm’]") | 所有带有 href 属性且值等于 “default.htm” 的元素 |
$("[href!=‘default.htm’]") | 所有带有 href 属性且值不等于 “default.htm” 的元素 |
$("[href$=’.jpg’]") | 所有带有 href 属性且值以 “.jpg” 结尾的元素 |
$("[title^=‘Tom’]") | 所有带有 title 属性且值以 “Tom” 开头的元素 |
$("[title~=‘hello’]") | 所有带有 title 属性且值包含单词 “hello” 的元素 |
$("[title*=‘hello’]") | 所有带有 title 属性且值包含字符串 “hello” 的元素 |
$(":input") | 所有 input 元素 |
$(":text") | 所有带有 type=“text” 的 input 元素 |
$(":password") | 所有带有 type=“password” 的 input 元素 |
$(":radio") | 所有带有 type=“radio” 的 input 元素 |
$(":checkbox") | 所有带有 type=“checkbox” 的 input 元素 |
$(":submit") | 所有带有 type=“submit” 的 input 元素 |
$(":reset") | 所有带有 type=“reset” 的 input 元素 |
$(":button") | 所有带有 type=“button” 的 input 元素 |
$(":image") | 所有带有 type=“image” 的 input 元素 |
$(":file") | 所有带有 type=“file” 的 input 元素 |
$(":enabled") | 所有启用的元素 |
$(":disabled") | 所有禁用的元素 |
$(":selected") | 所有选定的下拉列表元素 |
$(":checked") | 所有选中的复选框选项 |
$( “p:target” ) | 选择器将选中ID和URI中一个格式化的标识符相匹配的 元素 |
事件
jQuery 是为事件处理特别设计的。
页面对不同访问者的响应叫做事件。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。
常见 DOM 事件:
鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
---|---|---|---|
click - 点击 |
keypress - 键被按下 |
submit - 表单提交 |
load - 全部加载(1.8已废弃) |
dbclick - 双击 |
keydown - 键按下的过程 |
change - 文本改变 |
resize - 浏览器窗口大小调试 |
mouseenter - 鼠标进入 |
keyup - 键被松开 |
focus - 获得焦点 |
scroll - 滚动 |
mouseleave - 鼠标离开 |
blur - 失去焦点 |
unload - 离开页面(1.8已废弃) |
效果
隐藏/显示
$(selector).hide(speed,callback);
$(selector).show(speed,callback); 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
toggle()
淡入淡出
-
fadeIn()
-
fadeOut()
-
fadeToggle()
-
fadeTo()
-
$("#div2").fadeIn(“slow”);
-
$("#div3").fadeIn(3000);
- 渐变:
$(selector).fadeTo(speed,opacity,callback);
speed
:速度opacity
:透明度callback
:回调函数
滑动
语法:
$(selector).slideDown(speed,callback);
$(selector).slideUp(speed,callback);
$(selector).slideToggle(speed,callback);
speed
:时间callback
:回调函数
动画
$(selector).animate({params},speed,callback);
params
:css 属性(键值对形式,-号替换为驼峰 →border-radius=borderRadius:'15px'
)speed
:时间callback
:回调函数
操作:
- 能操作单个属性
- 能操作多个属性
- 值能使用相对值(+=、-=)
- 属性值能为"show"、“hide” 或 “toggle"等
- 编写多个animate能使用队列功能
捕获
text()
:捕获文本html()
:捕获HTMLval()
:捕获表单文本值attr()
:捕获属性值
添加元素
append()
- 在被选的元素的结尾插入内容prepend()
- 在被选的元素的开头插入内容after()
- 在被选元素之后插入内容before()
- 在被选元素之前插入内容
删除元素
remove()
- 删除被选元素(及其子元素)(可附加参数)empty()
- 从被选元素中删除子元素
类
addClass()
- 向被选元素添加一个类或多个类removeClass()
- 从被选元素删除一个或多个类toggleClass()
- 对被选元素进行添加/删除类的切换操作css()
- 设置或返回样式属性
尺寸
width()
- 元素宽度height()
- 元素高度innerWidth()
- padding+元素 宽度innerHeight()
- padding+元素 高度outerWidth()
- border+padding+元素 宽度outerHeight()
- border+padding+元素 高度
祖先选择器
parent()
- 上一级父元素parents()
- 上至html标签parentsUntil()
- 介于目前元素与选择元素之间的所有标签。
后代选择器
children()
- 所选元素的所有直接子元素find()
- 找到符合条件的子元素
同胞选择器
siblings()
- 被选元素的所有同胞元素next()
- 被选元素的下一个元素nextAll()
- 被选元素的下面所有元素nextUntil()
- 被选元素到后面指定元素中间的所有元素prev()
- 被选元素的前一个元素prevAll()
- 被选元素的前面所有元素prevUntil()
- 被选元素到前面指定元素中间的所有元素
过滤选择器
first()
- 第一个匹配条件的元素last()
- 最后一个匹配条件的元素eq()
- 符合索引号的元素filter()
- 匹配filter里条件的元素not()
- 去掉not里符合条件的元素后的其他元素
请求
load
语法:$(selector).load(URL,data,callback);
URL
:请求加载的URLdata
:查询字符串键值对集合callback
:load()
方法完成后所执行的函数名称responseTxt
- 包含调用成功时的结果内容statusTxt
- 包含调用的状态xhr
- 包含XMLHttpRequest对象
get/post
get - 从指定的资源请求数据
post - 向指定的资源提交要处理的数据
语法:
$.get(URL,callback);
URL
:请求的URL
callback
:请求成功后所执行的函数名
Ajax
|
|
或
|
|
JSONP
跨域读取数据,请用 JSONP。
注意:JSONP 与 Ajax 没任何关系!JSONP 是利用 script 标签来 get 到被包裹的 json 数据。
|
|
插件扩展
jQuery Validate
说明:jQuery Validate是在jQuery基础上扩展的为表单提供验证功能的插件。
JQuery Accordion
说明:jQuery Accordion插件用于创建折叠菜单
jQuery Autocomplete
说明:jQuery Autocomplete插件根据用户输入值进行搜索和过滤
jQuery Growl
说明:jQuery Growl用户做消息提醒
jQuery Password Validation
说明:jQuery Password Validation 在jQuery Validation 的基础上扩展,专门对密码进行验证