jQuery基础
来源:互联网 发布:怎样注销手机淘宝号 编辑:程序博客网 时间:2024/06/06 19:28
一、简介
主流的js库有protoype、dojo、ExtJS、jQuery。
jQuery 是一个JavaScript库。提供更简洁,更快速的方法来操作页面的元素。
网址:http://jquery.com 当前版本1.4.2
二、核心函数的使用:$代表jQuery对象。
$(expr[,context]) 工厂函数:根据指定的表达式查找所有匹配的元素,并存放到jQuery对象中。
·参数expr: 是一个由CSS选择器组成的表达式
·参数context: 指定查找的上下文,默认是整个文档。$(html): 根据提供的原始HTML标记字符串,创建由jQuery对象包装的DOM元素。
document.createElement(“img”);$(elements):把传入的DOM元素转成jQuery包装的对象并放入jQuery对象中。
(callback):是 (document).ready(callback)的简写。用得少。
常用方式:$(document).ready(callback);对象访问:each(callback) 以每一个匹配的元素作为上下文来执行一个函数。
三、选择器:
基本
1. * 匹配所有元素。多用于结合上下文来搜索。
2. .class 根据给定的类匹配元素。 如
4. #id 根据给定的ID匹配一个元素。如 $(‘#myId’)
5. selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回。
层次
6. ancestor descendant 在给定的祖先元素下匹配所有的后代元素 (匹配后代节点)
7. parent > child 在给定的父元素下匹配所有的子元素 (匹配子节点)
8. prev + next 匹配所有紧接在 prev 元素后的 next 元素 (匹配兄弟节点)
9. prev ~ siblings 匹配 prev 元素之后的所有 siblings 元素 (匹配兄弟节点)
过滤:通过特定的过滤规则来筛选出所需的DOM元素,该选择器都以”:”开头。
基本过滤 :first、:last、:not、:not、:even、:odd、:eq、:gt、:lt、:header、:animated
内容过滤 :contains、:empty、:has、:parent
可见性过滤 :hidden、:visible
属性过滤 jQuery1.3中前导的@符号已经被废除
[attName]、[attName=value]、 [attName!=value]、 [attName^=value]、 [attName$=value]、 [attName*=value]、 [selector1][selector2][selectorN]
子元素过滤 :nth-child、:first-child、:last-child、:only-child
表单对象过滤选择器: :input、:text、:password、:radio、:checkbox、:submit、:reset、:image、:file、:hidden
表单对象属性过滤选择器: :enabled、:disabled、:checked、:selected
四、操作元素的属性
attr(name) 取得第一个匹配元素的属性值attr(properties) 将一个“名/值”形式的对象设置为所有匹配元素的属性: $('p').attr({"id": "abc"});attr(key,value) 为所有匹配的元素设置一个属性值attr(key,[fn]) 为所有匹配的元素设置一个计算的属性值removeAttr(name) 从每一个匹配的元素中删除一个属性
五、操作html的方法
- html代码
html() 取得第一个匹配元素的html内容。
html(val) 设置每一个匹配元素的html内容。 - 文本
text() 取得所有匹配元素的内容。
text(val) 设置所有匹配元素的文本内容 - 值
val() 获得第一个匹配元素的当前值。
val(val) 设置每一个匹配元素的值。
六、DOM文档处理
- 内部插入
append(content), appendTo(content), prepend(content), prependTo(content). - 外部插入
after(content), before(content), insertAfter(content), insertBefore(content). - 包裹:wrap()、wrapAll()
- 替换:replaceWith(content)、
- 删除:empty()、 remove([expr])、detach([expr])
- 复制:clone()、clone(true)
七、CSS操作
css(properties) 把一个“名/值对”对象设置为所有匹配元素的样式属性。属性名包含 “-”的话,必须使用引号
css(name,value) 在所有匹配的元素中,设置一个样式属性的值
八、事件
页面载入事件:ready(fn)
事件处理: bind , one , trigger, triggerHandler, unbind
事件委派: live(type,[fn]), die([type],[data])
事件切换: hover(over, out), toggle(fn, fn2, [fn3, fn4, …])
事件:
load([fn]) 、 unload([fn])、 error([fn])、
blur([fn])、focus([fn])、resize([fn])、scroll([fn])、select([fn])、
change([fn])、click([fn])、dbclick([fn])、 submit([fn])、
keydown([fn])、keypress([fn])、keyup([fn])、
mousedown([fn])、mousemove([fn])、mouseout([fn])、mouseover([fn])、mouseup([fn])
九、效果
- 基本
show() 显示隐藏的匹配元素
show(speed,[callback]) 动画显示所有匹配的元素,显示完成后可选地触发一个回调函数
三种预定速度之一的字符串(“slow”, “normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
hide()、hide(speed,[callback])
toggle() 、toggle(switch)、toggle(speed, [callback]) - 滑动
slideDown(speed, [callback])
slideUp(speed,[callback])
slideToggle(speed, [callback]) - 淡入淡出
fadeIn(speed, [callback])
fadeOut(speed, [callback]) - clone([true]),有true的话会连事件一起克隆
even(偶) - 页面中的代码是从上往下执行的,要执行JS中的代码,可使用$(document).ready()
- 先创建再加载内容与先加载内容再建dialog的区别。
- 页面中的代码是从上往下执行的,要执行JS中的代码,可使用$(document).ready()
十、AJAX的支持
- jQuery.ajax([options]) jQuery底层AJAX实现
- load(url, [data], [callback]) 载入远程HTML文件代码并插入至DOM中
默认使用 GET 方式,传递附加参数时自动转换为 POST 方式 - jQuery.get(url, [data], [callback], [type ]) 通过GET请求载入信息
- jQuery.getJSON(url, [data], [callback]) 通过GET请求载入JSON数据
- jQuery.getScript(url, [callback]) 通过GET请求载入并执行一个JS文件
- jQuery.post(url, [data], [callback], [type]) 通过POST请求载入信息,如果响应类型为json,自动转换成JSON对象。
- 事件:ajaxComplete(callback)、ajaxError(callback)、ajaxSend(callback)、ajaxStart(callback)、ajaxStop(callback)、ajaxSuccess(callback)
- jQuery.ajaxSetup([options]) 设置全局AJAX默认选项
- serialize() 序列化表单内容为字符串(名=值&名=值)
- serializeArray() 序列化表单内容为JSON数组结构数据 ({“名”:值, “名”: 值})
十一、插件应用
- 表单验证插件:formValidator3.5
- 官方UI:常用组件:Datepicker、Dialog、Tabs
1) 添加插件JS、某个主题的样式表和图片:
jquery-ui-1.8.1.custom.min.js、jquery-ui-1.8.1.custom.css、images - 数据表格插件: jqGrid
- 数据表格排序插件:tablesorter
- 对话框插件:jqModal
- JQuery基础
- jquery基础
- jquery基础
- jQuery基础
- jquery基础
- jquery基础
- jquery 基础
- jquery基础
- jQuery基础
- jquery 基础
- Jquery 基础
- jquery基础
- jquery基础
- jQuery基础
- jquery基础
- jquery基础
- jquery 基础
- jquery基础
- 用maya API获取DAG节点的path和matrix信息
- 1131. 【NOIP2009PJ】道路游戏
- 算法提高 9-2 文本加密
- Java基础学习总结——面向对象
- 6.2.3
- jQuery基础
- 3.变量与数据类型
- CYK算法详解
- Python 类属性变量和全局变量
- 跨平台开发app讲解
- Maven热部署及错误排除
- Java设计模式之单例模式
- Android读取csv文件并写到数据库中
- Java基础类型总结