This time I will bring you what are the main APIs of jQuery, and what are the precautions when using the main jQuery APIs. The following is a practical case, let's take a look.
jquery core function
函数 描述 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 properties
函数 描述 attr() 设置或返回被选元素的属性值。 removeAttr() 从每一个匹配的元素中删除一个属性 prop()1.6+ 获取在匹配的元素集中的第一个元素的属性值。 removeProp()1.6+ 用来删除由.prop()方法设置的属性集 addClass() 为每个匹配的元素添加指定的类名。 removeClass() 从所有匹配的元素中删除全部或者指定的类。 toggleClass() 如果存在(不存在)就删除(添加)一个类。 html() 取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。 text() 取得所有匹配元素的内容。 val() 获得匹配元素的当前值。
jQuery CSS Operations
The methods listed below set or return CSS-related properties of an element.
函数 描述 css()1.9* 访问匹配元素的样式属性。 jQuery.cssHooks 直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性。 offset() 获取匹配元素在当前视口的相对偏移。 position() 获取匹配元素相对父元素的偏移。 scrollTop() 获取匹配元素相对滚动条顶部的偏移。 scrollLeft() 获取匹配元素相对滚动条左侧的偏移。 heigh() 取得匹配元素当前计算的高度值(px)。 width() 取得第一个匹配元素当前计算的宽度值(px)。 innerHeight() 获取第一个匹配元素内部区域高度(包括内边距、不包括边框)。 innerWidth() 获取第一个匹配元素内部区域宽度(包括内边距、不包括边框)。 outerHeight() 获取第一个匹配元素外部高度(默认包括内边距和边框)。 outerWidth() 获取第一个匹配元素外部宽度(默认包括内边距和边框)。
jQuery Selector
函数 描述 #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 Document Operation
函数 描述 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 filter operation
函数 描述 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 filter operation
函数 描述 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 event method
函数 描述 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 effect
函数 描述 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 operation
函数 描述 $.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 数据结构数据。
Next, let’s take a look at jQuery’s common syntax and interfaces:
jQuery’s common syntax and interfaces Interface
Whether you are writing a program or reading API documentation, you must always pay attention to distinguishing between Dom objects and jQuery packaging sets.
1. Dom object
In traditional JavaScript development, the Dom object is obtained first, for example:
var p = document.getElementById("testp"); var ps = document.getElementsByTagName("p");
Use the document.getElementById method Get a single Dom object based on id, or use the document.getElementsByTagName method to get a collection of Dom objects based on HTML tag names.
In addition, in the event function, you can use this in the method function to refer to the event triggering object, or use the target (FF) or srcElement (IE6) of the event object to obtain the Dom object that triggered the event.
What is obtained here are Dom objects, and Dom objects also have different types, such as input, p, span, etc. Dom objects have only limited properties and methods , as shown in Figure 6-2.
2. jQuery packaging set
jQuery packaging set can be said to be an expansion of the Dom object. In the world of jQuery, all objects, whether one or a group, are encapsulated into a jQuery packaging set. For example, getting a jQuery packaging set containing an element:
var jQueryObject = $("#testp");
jQuery packaging set is treated as an object called together. The jQuery wrapper set has a rich set of properties and methods. The jQuery-specific properties and methods are shown in Figure 6-3.
3. Conversion of Dom objects and jQuery objects
(1) Dom to jQuery packaging set
If you want to use the functions provided by jQuery, you first need to construct a jQuery wrapper set. You can use the jQuery selector that will be introduced in this article to directly construct a jQuery packaging set, for example:
$("#testp");
The packaging set constructed by the above statement only contains one element with the ID testp. Or a Dom element has been obtained, such as:
var p = document.getElementById("testp");
In the above code, p is a Dom element. You can convert the Dom element into a jQuery packaging set:
var domToJQueryObject = $(p);
(2) jQuery packaging set Convert Dom object
jQuery packaging set is a collection, so you can access one of its elements through the indexer:
var domObject = $("#testp")[0];
What is returned through the indexer is no longer a jQuery packaging set, but a Dom object! Some traversal methods of the jQuery package set, such as each(), can pass the traversal function. This in the traversal function is also a Dom element, such as:
$("#testp").each(function() { alert(this) })
If you want to use jQuery methods to operate the Dom object, use The conversion method introduced above can be used:
$("#testp").each(function() { $(this).html("修改内容") })
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
What are the methods for defining classes in js
##Detailed explanation of the steps of js imitating jquery
The above is the detailed content of What are the main APIs of jQuery?. For more information, please follow other related articles on the PHP Chinese website!