本文有整理,主要给读者们分享了一些主要的jQuery API,其中包括jQuery 核心函数和方法、jQuery属性参考手册、jQuery CSS操作、jQuery选择器、jQuery文档操作、jQuery筛选操作、jQuery事件方法、jQuery效果、jQuery Ajax操作、jQuery工具函数、jQuery事件对象、jQuery延迟对象、jQuery回调函数,欢迎收藏使用。
jquery核心函数
函数 描述 jQuery() 这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。 jQuery()1.8* 根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。同时设置一系列的属性、事件等。 jQuery() $(document).ready()的简写。 jQuery.holdReady()1.6+ 暂停或恢复.ready() 事件的执行。 each() 以每一个匹配的元素作为上下文来执行一个函数。 size() jQuery 对象中元素的个数。 length jQuery 对象中元素的个数。 selector 返回传给jQuery()的原始选择器。 context 返回传给jQuery()的原始的DOM节点内容,即jQuery()的第二个参数。如果没有指定,那么context指向当前的文档(document)。 get() 取得其中一个匹配的元素。 num表示取得第几个匹配的元素。 index() 搜索匹配的元素,并返回相应元素的索引值,从0开始计数。 data() 在元素上存放数据,返回jQuery对象。 removeData()1.7* 在元素上移除存放的数据 queue() 显示或操作在匹配元素上执行的函数队列 dequeue() 从队列最前端移除一个队列函数,并执行他。 clearQueue() 清空对象上尚未执行的所有队列 jQuery.fn.extend() 扩展 jQuery 元素集来提供新的方法(通常用来制作插件)。 jQuery.extend() 扩展jQuery对象本身。 jQuery.noConflict() 运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
jQuery属性
函数 描述 attr() 设置或返回被选元素的属性值。 removeAttr() 从每一个匹配的元素中删除一个属性 prop()1.6+ 获取在匹配的元素集中的第一个元素的属性值。 removeProp()1.6+ 用来删除由.prop()方法设置的属性集 addClass() 为每个匹配的元素添加指定的类名。 removeClass() 从所有匹配的元素中删除全部或者指定的类。 toggleClass() 如果存在(不存在)就删除(添加)一个类。 html() 取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。 text() 取得所有匹配元素的内容。 val() 获得匹配元素的当前值。
jQuery CSS操作
下面列出的这些方法设置或返回元素的 CSS 相关属性。
函数 描述 css()1.9* 访问匹配元素的样式属性。 jQuery.cssHooks 直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性。 offset() 获取匹配元素在当前视口的相对偏移。 position() 获取匹配元素相对父元素的偏移。 scrollTop() 获取匹配元素相对滚动条顶部的偏移。 scrollLeft() 获取匹配元素相对滚动条左侧的偏移。 heigh() 取得匹配元素当前计算的高度值(px)。 width() 取得第一个匹配元素当前计算的宽度值(px)。 innerHeight() 获取第一个匹配元素内部区域高度(包括内边距、不包括边框)。 innerWidth() 获取第一个匹配元素内部区域宽度(包括内边距、不包括边框)。 outerHeight() 获取第一个匹配元素外部高度(默认包括内边距和边框)。 outerWidth() 获取第一个匹配元素外部宽度(默认包括内边距和边框)。
jQuery选择器
函数 描述 #id element .class * selector1,selector2,selectorN ancestor descendant parent > child prev + next prev ~ siblings :first :not() :even :odd :eq() :gt() :lang1.9+ :last :lt() :header :animated :focus1.6+ :root1.9+ :target1.9+ :contains() :empty :has() :parent :hidden :visible [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [attrSel1][attrSel2][attrSelN] :first-child :first-of-type1.9+ :last-child :last-of-type1.9+ :nth-child :nth-last-child()1.9+ :nth-last-of-type()1.9+ :nth-of-type()1.9+ :only-child :only-of-type1.9+ :input :text :password :radio :checkbox :submit :image :reset :button :file :hidden :enabled :disabled :checked :selected
jQuery文档操作
函数 描述 append() 向每个匹配的元素内部追加内容。 appendTo() 把所有匹配的元素追加到另一个指定的元素元素集合中。 prepend() 向每个匹配的元素内部前置内容。 prependTo() 把所有匹配的元素前置到另一个、指定的元素元素集合中。 after() 在每个匹配的元素之后插入内容。 before() 在每个匹配的元素之前插入内容。 insertAfter() 把所有匹配的元素插入到另一个、指定的元素元素集合的后面。 insertBefore() 把所有匹配的元素插入到另一个、指定的元素元素集合的前面。 wrap() 把所有匹配的元素用其他元素的结构化标记包裹起来。 unwrap() 这个方法将移出元素的父元素。 wrapall() 将所有匹配的元素用单个元素包裹起来 wrapInner() 将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来 replaceWith() 将所有匹配的元素替换成指定的HTML或DOM元素。 replaceAll() 用匹配的元素替换掉所有 selector匹配到的元素。 empty() 删除匹配的元素集合中所有的子节点。 remove() 从DOM中删除所有匹配的元素。 detach() 从DOM中删除所有匹配的元素。 clone() 克隆匹配的DOM元素并且选中这些克隆的副本。
jQuery筛选操作
函数 描述 eq() 获取第N个元素 first() 获取第一个元素 last() 获取最后一个元素 hasClass() 检查当前的元素是否含有某个特定的类,如果有,则返回true。 filter() 筛选出与指定表达式匹配的元素集合。 is()1.6* 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。 map() 将一组元素转换成其他数组(不论是否是元素数组) has() 保留包含特定后代的元素,去掉那些不含有指定后代的元素。 not() 删除与指定表达式匹配的元素 slice() 选取一个匹配的子集 children() 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。 closest()1.7* 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。。 find()1.6* 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。 next() 取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。 nextall() 查找当前元素之后所有的同辈元素。 nextUntil()1.6* 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。 offsetParent() 返回第一个匹配元素用于定位的父节点。 parent() 取得一个包含着所有匹配元素的唯一父元素的元素集合。 parents() 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。 parentsUntil()1.6* 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。 prev() 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。 prevall() 查找当前元素之前所有的同辈元素 prevUntil()1.6* 查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止。 siblings() 取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。 add() 把与表达式匹配的元素添加到jQuery对象中。这个函数可以用于连接分别与两个表达式匹配的元素结果集。 andSelf() 加入先前所选的加入当前元素中 contents() 查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容 end() 回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。
jQuery筛选操作
函数 描述 eq() 获取第N个元素 first() 获取第一个元素 last() 获取最后一个元素 hasClass() 检查当前的元素是否含有某个特定的类,如果有,则返回true。 filter() 筛选出与指定表达式匹配的元素集合。 is()1.6* 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。 map() 将一组元素转换成其他数组(不论是否是元素数组) has() 保留包含特定后代的元素,去掉那些不含有指定后代的元素。 not() 删除与指定表达式匹配的元素 slice() 选取一个匹配的子集 children() 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。 closest()1.7* 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。。 find()1.6* 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。 next() 取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。 nextall() 查找当前元素之后所有的同辈元素。 nextUntil()1.6* 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。 offsetParent() 返回第一个匹配元素用于定位的父节点。 parent() 取得一个包含着所有匹配元素的唯一父元素的元素集合。 parents() 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。 parentsUntil()1.6* 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。 prev() 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。 prevall() 查找当前元素之前所有的同辈元素 prevUntil()1.6* 查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止。 siblings() 取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。 add() 把与表达式匹配的元素添加到jQuery对象中。这个函数可以用于连接分别与两个表达式匹配的元素结果集。 andSelf() 加入先前所选的加入当前元素中 contents() 查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容 end() 回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。
jQuery事件方法
函数 描述 ready() 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。 on()1.7+ 在选择元素上绑定一个或多个事件的事件处理函数。 off()1.7+ 在选择元素上移除一个或多个事件的事件处理函数。 bind() 为每个匹配元素的特定事件绑定事件处理函数。 one() 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。 trigger() 在每一个匹配的元素上触发某类事件。 triggerHandler() 这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作,也不会产生事件冒泡。 unbind() bind()的反向操作,从每一个匹配的元素中删除绑定的事件。 live()1.7- jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。 die()1.7- 从元素中删除先前用.live()绑定的所有事件.(此方法与live正好完全相反。) delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 undelegate()1.6* 删除由 delegate() 方法添加的一个或多个事件处理程序。 hover() 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。 toggle() 用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。 blur() 当元素失去焦点时触发 blur 事件。 change() 当元素的值发生改变时,会发生 change 事件。 click() 触发每一个匹配元素的click事件。 dblclick() 当双击元素时,会发生 dblclick 事件。 error() 当元素遇到错误(没有正确载入)时,发生 error 事件。 focus() 当元素获得焦点时,触发 focus 事件。 focusin() 当元素获得焦点时,触发 focusin 事件。 focusout() 当元素失去焦点时触发 focusout 事件。 keydown() 当键盘或按钮被按下时,发生 keydown 事件。 keypress() 当键盘或按钮被按下时,发生 keypress 事件。 keyup() 当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。 mousedown() 当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。 mouseenter() 当鼠标指针穿过元素时,会发生 mouseenter 事件。该事件大多数时候会与mouseleave 事件一起使用。 mouseleave() 当鼠标指针离开元素时,会发生 mouseleave 事件。该事件大多数时候会与mouseenter 事件一起使用。 mousemove() 当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件。 mouseout() 当鼠标指针从元素上移开时,发生 mouseout 事件。 mouseover() 当鼠标指针位于元素上方时,会发生 mouseover 事件。 mouseup() 当在元素上放松鼠标按钮时,会发生 mouseup 事件。 resize() 当调整浏览器窗口的大小时,发生 resize 事件。 scroll() 当用户滚动指定的元素时,会发生 scroll 事件。 select() 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。 submit() 当提交表单时,会发生 submit 事件。 unload() 在当用户离开页面时,会发生 unload 事件。
jQuery效果
函数 描述 show() 显示隐藏的匹配元素。 hide() 隐藏显示的元素 toggle() 用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。 slideDown() 通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。 slideUp() 通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。 slideToggle() 通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。 fadeIn() 通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。 fadeOut() 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。 fadeTo() 把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。 fadeToggle() 通过不透明度的变化来开关所有匹配元素的淡入和淡出效果,并在动画完成后可选地触发一个回调函数。 animate()1.8* 用于创建自定义动画的函数。 stop()1.7* 停止所有在指定元素上正在运行的动画。 delay() 设置一个延时来推迟执行队列中之后的项目。 finish()1.9+ 停止当前正在运行的动画,删除所有排队的动画,并完成匹配元素所有的动画。 jQuery.fx.off 关闭页面上所有的动画。 jQuery.fx.interval 设置动画的显示帧速。
jQuery ajax操作
函数 描述 $.ajax() 通过 HTTP 请求加载远程数据。 load() 载入远程 HTML 文件代码并插入至 DOM 中。 $.get() 通过远程 HTTP GET 请求载入信息。 $.getJSON() 通过 HTTP GET 请求载入 JSON 数据。 $.getScript() 通过 HTTP GET 请求载入并执行一个 JavaScript 文件。 $.post() 通过远程 HTTP POST 请求载入信息。 ajaxComplete() AJAX 请求完成时执行函数。Ajax 事件。 ajaxError() AJAX 请求发生错误时执行函数。Ajax 事件。 ajaxSend() AJAX 请求发送前执行函数。Ajax 事件。 ajaxStart() AJAX 请求开始时执行函数。Ajax 事件。 ajaxStop() AJAX 请求结束时执行函数。Ajax 事件。 ajaxSuccess() AJAX 请求成功时执行函数。Ajax 事件。 $.ajaxPrefilter() Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). $.ajaxSetup() 设置全局 AJAX 默认选项。 serialize() 序列化表格内容为字符串。 serializearray() 序列化表格元素 (类似 '.serialize()' 方法) 返回 JSON 数据结构数据。
接下来,我们再给大家看一下 jQuery常用语法及接口:
jQuery常用语法及接口
无论是写程序还是看API文档,要时刻注意区分Dom对象和jQuery包装集。
1. Dom对象
在传统的JavaScript开发中,都是首先获取Dom对象,比如:
var div = document.getElementById("testDiv"); var divs = document.getElementsByTagName("div");
使用document.getElementById方法根据id获取单个Dom对象,或者使用document. getElementsByTagName方法根据HTML标签名称获取Dom对象集合。
另外,在事件函数中,可以通过在方法函数中使用this引用事件触发对象,或者使用event对象的target(FF)或srcElement(IE6)获取引发事件的Dom对象。
这里获取的都是Dom对象,Dom对象也有不同的类型,如input、div、span等。Dom对象只有有限的属性和方法,如图6-2所示。
2. jQuery包装集
jQuery包装集可以说是Dom对象的扩充。在jQuery的世界中将所有的对象,无论是一个还是一组,都封装成一个jQuery包装集,比如获取包含一个元素的jQuery包装集:
var jQueryObject = $("#testDiv");
jQuery包装集都是作为一个对象一起调用的。jQuery包装集拥有丰富的属性和方法,jQuery特有的属性和方法如图6-3所示。
3. Dom对象与jQuery对象的转换
(1)Dom转jQuery包装集
如果要使用jQuery提供的函数,首先就需要构造jQuery包装集。可以使用本文即将介绍的jQuery选择器直接构造jQuery包装集,比如:
$("#testDiv");
上面语句构造的包装集只含有一个id是testDiv的元素。或者已经获取了一个Dom元素,比如:
var div = document.getElementById("testDiv");
上面的代码中div是一个Dom元素,可以将Dom元素转换成jQuery包装集:
var domToJQueryObject = $(div);
(2)jQuery包装集转Dom对象
jQuery包装集是一个集合,所以可以通过索引器访问其中的某一个元素:
var domObject = $("#testDiv")[0];
通过索引器返回的不再是jQuery包装集,而是一个Dom对象!jQuery包装集的某些遍历方法,比如each()中,可以传递遍历函数,在遍历函数中的this也是Dom元素,比如:
$("#testDiv").each(function() { alert(this) })
如果要使用jQuery的方法操作Dom对象,用上面介绍过的转换方法即可:
$("#testDiv").each(function() { $(this).html("修改内容") })
本文希望能给入门或迷茫的同学一些建议,合不合适只有自己才是最明白的,欢迎留言。另外新手学习前端开发除了要多动手敲代码最重要的还是经验的交流欢迎有需要的的小伙伴进前端开发交流群624293552来一起交流问题学习经验,我把所有比较适合新手学习的教程资料都放到里了。