标签:button 单元 fas put json对象 each 不可 服务 speed
jQuery是一个开源的、优秀的javascript函数库(js框架),它体积小,简化了很多对HTML、CSS、DOM、事件、动画的处理。是对Js的封装。
jquery宗旨:写的更少,做的更多,吃的少,干得多。
市场占有率高,工作中用到的可能性大。
jquery相比其他的js库,有其鲜明的特点,方便对页面元素节点对象进行查找
插件支持:时间选取器、表单验证等。
完善的ajax支持
源代码下载地址:http://jquery.com/
下载软件压缩包
jQuery有两个版本,两者功能没有区别,大小的区别在于min是压缩后的代码,即把空行,空白等压缩掉,把变量名字变短。而文件比较大的没有压缩的源文件。所以在学习时,使用没有压缩的源文件,但是上线后,在线网站使用压缩版,提供下载速度。
jquery-1.8.3.js :未经过压缩后的版本,具有可读性(内部有许多注释,空格,回车)
jquery-1.8.3.min.js :经过压缩后的版本,代表更精简(没有空格和回车)
使用jQuery
复制jquery-1.8.3.js到项目js目录中并改名为jquery.js
通过script代码中的src属性载入jquery源代码到当前页面即可
jquery对象
使用$符号选择的元素就是jquery对象。
dom对象
使用document.getElementById或document.getElementsByTagName获取的对象就是dom对象
query对象与dom对象的关系
jquery对象是对dom对象的重新封装,他们之间是可以相互转换的
jQuery对象与DOM对象相互转换
jQuery转dom
语法:
DOM对象 = jQuery对象[下标];
DOM对象 =jQuery对象.get(下标);
dom转jquery
语法:jQuery对象 = $(DOM对象);
id :根据元素的id属性获取指定的元素
element:根据元素的名称获取指定的元素
selector1,selector2:匹配所有满足条件的元素
.class:根据元素的class属性获取指定的元素
ancestor (空格) descendant :选取祖先元素下的所有后代元素(祖先与后代)
parent > child:选择父元素下的所有子元素(父子关系)
prev + next:选取同级元素紧邻的下一个元素
prev~siblings:选取同级元素所有的同级兄弟元素
:first :匹配第一个元素
:last :匹配最后一个元素
:even:匹配所有偶数
:odd :匹配所有奇数
:eq(index) :匹配索引为index的元素(默认索引从0开始)
:gt(index):匹配索引大于index的元素
:lt(index) :匹配索引小于index的元素
:not(selector):匹配除指定选择器以外的其他元素
:contains(text):匹配内容包含指定文本的元素
:empty:匹配内容为空的元素
:has(selector) :匹配具有指定选择器的元素
:parent:匹配具有子元素的元素(内容不为空的元素)
:hidden:匹配所有隐藏元素(display:none,input type=’hidden’)
:visible:匹配所有可见元素(display:block)
[attribute] :匹配具有指定属性的元素
[attribute=value]:匹配属性值等于value的元素
[attribute!=value] :匹配属性值不等于value*的元素
[attribute^=value] :匹配属性值以value开始的元素
[attribute$=value] :匹配属性值以value结尾的元素
[attribute*=value] :匹配属性值包含value的元素
[selectorN]:匹配包含多个属性的元素
:nth-child(index/even/odd) 从1算起:匹配索引为index的指定元素
:first-child :匹配第一个子元素
:last-child :匹配最后一个子元素
:only-child:如果当前元素只有唯一子元素,则匹配
:input :匹配所有表单元素
:text :匹配所有文本框
:password:匹配所有密码框
:radio :匹配所有单选按钮
:checkbox:匹配所有复选框
:submit :匹配提交按钮
:reset:匹配重置按钮
:image:匹配图像域
:button:匹配按钮
:file:匹配文件域
:hidden:匹配隐藏表
:enabled :匹配所有可用元素
:disabled :匹配所有不可用元素
:checked :匹配复选框单选框所有选中元素(问题多)
:selected :匹配下拉选框所有选中元素
attr(name):获取指定元素的属性
attr(key,value):设置元素的属性
attr(properties):为元素同时设置多个属性,要求参数是一个json数据
attr(key,fn):通过函数的返回值设置元素属性
removeAttr(name):移除元素属性
addClass(class):为元素添加class属性
removeClass(class):移除元素的class属性
toggleClass(class):切换样式,如果元素不存在该属性则添加,否则移除
hasClass(class):判断元素是否具有某个css样 //它返回的是一个布尔
css(name):获取元素样式属性
css(name,value):设置元素样式属性
css(properties):同时为元素设置多个样式属性,要求参数是一个json数据
offset() :获取元素的位置,返回json格式数据,带有left与top属性
offset(coordinates):设置元素的位置,要求参数是一个json数据且必须要拥有left与top属性。
width():获取元素的宽度
width(value):设置元素的宽度
height():获取元素的高度
height(value):设置元素的高度
html
1. html():获取元素的值
2. html(val):设置元素的值
?
相当于以前的innerHTML属性
text
1. val():获取表单元素的值
2. val(val):设置表单元素的值
?
相当于以前的innerText属性
val
1. text():获取元素的值
2. text(val):设置元素的值
?
相当于以前的value属性
show():显示
show(speed,[callback]) :以动画效果显示
?
参数说明:
speed:速度(动画的持续时间)
[callback]:可选参数,事件完成时所触发的回调函数
hide():隐藏
hide(speed,[callback]) :以动画效果隐藏
?
参数说明:
speed:速度(动画的持续时间)
[callback]:可选参数,事件完成时所触发的回调函数
toggle() :切换显示或隐藏
toggle(switch) :显示或隐藏true:显示false:隐藏
?
toggle(speed,[callback]):以动画效果切换显示或隐藏 speed:"slow", "normal", "fast":slow:慢normal:正常fast:快速
slideDown(speed,[callback]) :以动画效果向下滑动显示
slideUp(speed,[callback]) :以动画效果向上滑动隐藏
slideToggle(speed,[callback]) :以动画效果滑动显示或隐藏
参数说明:
speed :动画的持续时间
[callback]:动画完成时所触发的回调函数
fadeIn(speed,[callback]) :以动画形式淡入(显示)
fadeOut(speed,[callback]) :以动画形式淡出(隐藏)
fadeToggle():切换淡入淡出
fadeTo(speed,opacity,[callback]) :设置元素的透明度
参数说明;
speed:动画的持续时间
opacity :透明度(0-1) 0 全透明 1不透明
[callback]:动画完成时所触发的回调函数
animate(params,[speed]):自定义动画效果
animate(params,[speed]):自定义动画效果
params ****:自定义动画,要求参数是一个json格式的数据
[speed]:动画的持续时间
在元素内部后面插入
A.append(B) :将B插入到A的内部的后面
?
B.appendTo(A) :将B插入到A的内部的后面
在元素内部前面插入
A.prepend(B) :将B插入到A的内部的前面
?
B.prependTo(A) :将B插入到A的内部的前面
在元素外部的后面
A.after(B):将B插入到A的外面的后面
B.insertAfter(A):将B插入到A的外面的后面
在元素外部的前面
A.before(B):将B插入到A的外面的前面
B.insertBefore(A):将B插入到A的外面的前面
empty():清空元素内容
remove():删除元素节点及内容
clone() :克隆(复制)元素
clone(true):克隆(复制)元素同时复制元素的事件
值替换:html()
替换节点(标签):replaceWith()
wrap():对每个元素进行单独包裹
wrapAll():将所选元素作为一个整体包裹起来
wrapInner():对所选元素的所有子元素包裹
eq(index):通过元素的索引查找元素,index默认从0开始
filter(expr):查找与给定元素匹配的元素,expr匹配条件
not(expr):查找与给定元素不匹配的元素
children([expr]):查找所有子元素
find(expr):查找所有后代元素
next([expr]):查找紧邻的下一个元素
nextAll();查找紧邻的后面的所有元素
prev([expr]):查找紧邻的上一个元素
prevAll();查找紧邻的前面的所有元素
parent([expr]):查找当前元素的父元素
siblings([expr]):查找所有同级兄弟节点(无论上下)
each(callback):主要功能是遍历jQuery对象
基本语法:
jQuery对象.each(callback);
callback是一个函数
function callback(i,item){
//Javascript代码
}
i:每次遍历时,系统会自动将循环下标放入变量i中
item :每次遍历时,系统会自动将遍历得到的值(dom对象)放入item选项中,
jQuery对象本质是一个DOM对象集合的数据,所以遍历时每个遍历对象都是一个DOM对象,所以item也是一个DOM对象,如果想使用jQuery中属性或方法,需要通过$符号进行封装。
语法1:
$(document).ready(function(){
//事件的处理程序
});
语法2:
$().ready(function(){
//事件的处理程序
});
语法3:
$(function(){
//事件的处理程序
});
ready方法执行流程如下:载入HTML代码到内存-->形成DOM树结构-->执行jQuery脚本-->载入全部资源(文本、图片、样式)
在原生Javascript代码中,我们通过window.onload实现页面的载入功能,其主要执行流程如下:载入HTML代码到内存-->形成DOM树-->载入全部资源(文本、图片、样式)-->执行Javascript脚本。
通过比较,所以ready方法的执行速度要快于window.onload方法,原因就是两者的执行顺序不同!
快在哪里?
资源的载入是非常大的,需要消耗大量的时间,jquery先执行完脚本以后在载入资源,这是优化的过程.
jQuery中的所有事件都封装成了方法,所以在编写时语法如下
语法:jQuery对象.事件(事件的程序);
blur(fn):失去焦点时触发
change(fn):状态改变时触发
click(fn):点击时触发
dblclick(fn):双击时触发
focus(fn):获得焦点时触发
keydown(fn):键盘按下时触发
keyup(fn):键盘弹起时触发
keypress(fn):键盘按下时触发
load(fn):页面载入时触发,功能与ready类似
unload(fn):页面关闭时触发
mousedown(fn):鼠标按下时触发
mouseup(fn):鼠标弹起时触发
mousemove(fn):鼠标移动时触发
mouseover(fn):鼠标悬浮时触发
mouseout(fn):鼠标离开时触发
resize(fn):调整大小时触发
scroll(fn):滚动时触发
select(fn):文本选中时触发
submit(fn):表单提交时触发
hover(over,out):鼠标悬浮与鼠标离开事件
参数说明:
over:鼠标悬浮事件
out:鼠标离开事件
bind(type,[data],fn) 绑定事件
参数说明:
type :事件类型,不带‘on’前缀
[data]:可选参数,事件发生时所传递的数据(了解)
fn :事件的处理程序
bind({type:fn,type:fn})为元素绑定多个事件,要求参数是一个json对象
参数说明:
type :事件类型,不带’on’前缀
fn:事件的处理程序
one(type,[data],fn) :为元素绑定事件,但事件只触发一次
参数说明:
type:事件类型
[data]:事件发生时所传递的数据
fn :事件的处理程序
unbind([type]):移除事件
参数说明:
type :要移除的事件类型
在原生Javascript代码中,如果想进行事件移除,那么必须有一个前提:在事件绑定时,必须为事件的处理程序命名,
在Javascript代码中,事件监听中的this指向:
IE5|6 :指向Window对象
W3C :指向当前要操作的DOM对象
什么是ajax
a:Asynchronous
j:JavaScript
a:And
x:XML
是一种在页面没有刷新的情况下,通过客户端(浏览器)与服务器交互的一种技术。
ajax语言的载体是javascript,最大特点,页面不刷新完成请求。
ajax的起源
标签:button 单元 fas put json对象 each 不可 服务 speed
原文地址:https://www.cnblogs.com/wangjianhua1/p/11440701.html