jQuery 1.3 API 参考文档中文版
jQuery(expression,[context])
jQuery 的核心功能都是通过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。
默认情况下, 如果没有指定context参数,$()将在当前的 HTML 文档中查找 DOM 元素;如果指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。
参考 Selectors 获取更多用于 expression 参数的 CSS 语法的信息。
The core functionality of jQuery centers around this function. Everything in jQuery is based upon this, or uses this in some way. The most basic use of this function is to pass in an expression (usually consisting of CSS), which then finds all matching elements.
By default, if no context is specified, $() looks for DOM elements within the context of the current HTML document. If you do specify a context, such as a DOM element or jQuery object, the expression will be matched against the contents of that context.
See Selectors for the allowed CSS syntax for expressions.
返回值
jQuery
参数
expression (String) : 用来查找的字符串
context (Element, jQuery) : (可选) 作为待查找的 DOM 元素集、文档或 jQuery 对象。
示例
找到所有 p 元素,并且这些元素都必须是 div 元素的子元素。
HTML 代码:
jQuery 代码:
结果:
在文档的第一个表单中,查找所有的单选按钮(即: type 值为 radio 的 input 元素)。
jQuery 代码:
在一个由 AJAX 返回的 XML 文档中,查找所有的 div 元素。
jQuery 代码:
jQuery(html,[ownerDocument])
返回值
jQuery
参数
html (String) : 用于动态创建DOM元素的HTML标记字符串
ownerDocument (Document) : 可选,创建DOM元素所在的文档
示例
动态创建一个 div 元素(以及其中的所有内容),并将它追加到 body 元素中。在这个函数的内部,是通过临时创建一个元素,并将这个元素的 innerHTML 属性设置为给定的标记字符串,来实现标记到 DOM 元素转换的。所以,这个函数既有灵活性,也有局限性。
jQuery 代码:
创建一个 <input> 元素必须同时设定 type 属性。因为微软规定 <input> 元素的 type 只能写一次。
jQuery 代码:
$("<input>").attr("type", "checkbox");
// 在 IE 中有效:
$("<input type='checkbox'>");
jQuery(elements)
返回值
jQuery
参数
elements (Element, Array<Element>) : 用于封装成jQuery对象的DOM元素
示例
设置页面背景色。
jQuery 代码:
隐藏一个表单中所有元素。
jQuery 代码:
jQuery(callback)
允许你绑定一个在DOM文档载入完成后执行的函数。这个函数的作用如同$(document).ready()一样,只不过用这个函数时,需要把页面中所有需要在 DOM 加载完成时执行的$()操作符都包装到其中来。从技术上来说,这个函数是可链接的--但真正以这种方式链接的情况并不多。
你可以在一个页面中使用任意多个$(document).ready事件。
参考 ready(Function) 获取更多 ready 事件的信息。You can have as many $(document).ready events on your page as you like.
See ready(Function) for details about the ready event.
返回值
jQuery
参数
callback (Function) : 当DOM加载完成后要执行的函数
示例
当DOM加载完成后,执行其中的函数。
jQuery 代码:
// 文档就绪
});
使用 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何。
jQuery 代码:
// 你可以在这里继续使用$作为别名...
});
each(callback)
而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整形)。
返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。Additionally, the function, when executed, is passed a single argument representing the position of the element in the matched set (integer, zero-index).
Returning 'false' from within the each function completely stops the loop through all of the elements (this is like using a 'break' with a normal loop). Returning 'true' from within the loop skips to the next iteration (this is like using a 'continue' with a normal loop).返回值
jQuery
参数
callback (Function) : 对于每个匹配的元素所要执行的函数
示例
迭代两个图像,并设置它们的 src 属性。注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。
HTML 代码:
jQuery 代码:
this.src = "test" + i + ".jpg";
});
结果:
如果你想得到 jQuery对象,可以使用 $(this) 函数。
jQuery 代码:
$(this).toggleClass("example");
});
你可以使用 'return' 来提前跳出 each() 循环。
HTML 代码:
<button>Change colors</button> <span></span> <div></div> <div></div> <div></div> <div></div> <div id="stop">Stop here</div> <div></div> <div></div> <div></div>
jQuery 代码:
$("button").click(function () { $("div").each(function (index, domEle) { // domEle == this $(domEle).css("backgroundColor", "yellow"); if ($(this).is("#stop")) { $("span").text("Stopped at div index #" + index); return false; } }); });
size()
返回值
Number
示例
计算文档中所有图片数量
HTML 代码:
jQuery 代码:
结果:
length
返回值
Number
示例
计算文档中所有图片数量
HTML 代码:
jQuery 代码:
结果:
selector
返回值
Striing
示例
确定查询的选择器
jQuery 代码:
.append("<li>" + $("ul").selector + "</li>")
.append("<li>" + $("ul li").selector + "</li>")
.append("<li>" + $("div#foo ul:not([class])").selector + "</li>");
结果:
ul li
div#foo ul:not([class])
context
返回值
HTMLElement
示例
检测使用的文档内容
jQuery 代码:
.append("<li>" + $("ul").context + "</li>")
.append("<li>" + $("ul", document.body).context.nodeName + "</li>");
结果:
BODY
get()
这是取得所有匹配元素的一种向后兼容的方式(不同于jQuery对象,而实际上是元素数组)。
如果你想要直接操作 DOM 对象而不是 jQuery 对象,这个函数非常有用。
返回值
Array<Element>
示例
选择文档中所有图像作为元素数组,并用数组内建的 reverse 方法将数组反向。
HTML 代码:
jQuery 代码:
结果:
get(index)
返回值
Element
参数
index (Number) :取得第 index 个位置上的元素
示例
HTML 代码:
jQuery 代码:
结果:
index(subject)
返回值
Number
参数
subject (Element, Selector) : 要搜索的对象
示例
返回ID值为foobar的元素的索引值。
HTML 代码:
jQuery 代码:
$("div").index($('#foo')[0]) // 2
$("div").index($('#foo')) // -1
data(name)
如果jQuery集合指向多个元素,那将只返回第一个元素的对应数据。
这个函数可以用于在一个元素上存取数据而避免了循环引用的风险。jQuery.data是1.2.3版的新功能。你可以在很多地方使用这个函数,另外jQuery UI里经常使用这个函数。
If the JQuery collection references multiple elements, the value returned refers to the first element.
This function is used to get stored data on an element without the risk of a circular reference. It uses jQuery.data and is new to version 1.2.3. It can be used for many reasons and jQuery UI uses it heavily.
返回值
Any
参数
name (String) :存储的数据名
示例
在一个div上存取数据
HTML 代码:
jQuery 代码:
$("div").data("blah", "hello"); // blah设置为hello
$("div").data("blah"); // hello
$("div").data("blah", 86); // 设置为86
$("div").data("blah"); // 86
$("div").removeData("blah"); //移除blah
$("div").data("blah"); // undefined
在一个div上存取名/值对数据
HTML 代码:
jQuery 代码:
$("div").data("test").first //16;
$("div").data("test").last //pizza!;
data(name,value)
如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。
这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。
If the JQuery collection references multiple elements, the data element is set on all of them.
This function can be useful for attaching data to elements without having to create a new expando. It also isn't limited to a string. The value can be any format.
返回值
Any
参数
name (String) :存储的数据名
value (Any) :将要存储的任意数据
示例
参考data(name)的示例
removeData(name)
返回值
jQuery
参数
name (String) :存储的数据名
示例
参考data(name)的示例
queue([name])
返回值
Array<Function>
参数
name (String) :队列名,默认为fx
示例
显示队列长度
HTML 代码:
<style> div { margin:3px; width:40px; height:40px; position:absolute; left:0px; top:30px; background:green; display:none; } div.newcolor { background:blue; } span { color:red; } </style> <button id="show">Show Length of Queue</button> <span></span> <div></div>
jQuery 代码:
$("#show").click(function () { var n = $("div").queue("fx"); $("span").text("Queue length is: " + n.length); }); function runIt() { $("div").show("slow"); $("div").animate({left:'+=200'},2000); $("div").slideToggle(1000); $("div").slideToggle("fast"); $("div").animate({left:'-=200'},1500); $("div").hide("slow"); $("div").show(1200); $("div").slideUp("normal", runIt); } runIt();
queue([name],callback)
返回值
jQuery
参数
name (String) :队列名,默认为fx
callback (Function) : 要添加进队列的函数
示例
插入一个自定义函数 如果函数执行后要继续队列,则执行 jQuery(this).dequeue();
HTML 代码:
<style> div { margin:3px; width:40px; height:40px; position:absolute; left:0px; top:30px; background:green; display:none; } div.newcolor { background:blue; } </style> Click here... <div></div>
jQuery 代码:
$(document.body).click(function () { $("div").show("slow"); $("div").animate({left:'+=200'},2000); $("div").queue(function () { $(this).addClass("newcolor"); $(this).dequeue(); }); $("div").animate({left:'-=200'},500); $("div").queue(function () { $(this).removeClass("newcolor"); $(this).dequeue(); }); $("div").slideUp(); });
queue([name],queue)
返回值
jQuery
参数
name (String) :队列名,默认为fx
queue (Array<Function>) : 用于替换的队列。所有函数都有同一个参数,这个值与queue(callback)相同
示例
通过设定队列数组来删除动画队列
HTML 代码:
<style> div { margin:3px; width:40px; height:40px; position:absolute; left:0px; top:30px; background:green; display:none; } div.newcolor { background:blue; } </style> <button id="start">Start</button> <button id="stop">Stop</button> <div></div>
jQuery 代码:
$("#start").click(function () { $("div").show("slow"); $("div").animate({left:'+=200'},5000); $("div").queue(function () { $(this).addClass("newcolor"); $(this).dequeue(); }); $("div").animate({left:'-=200'},1500); $("div").queue(function () { $(this).removeClass("newcolor"); $(this).dequeue(); }); $("div").slideUp(); }); $("#stop").click(function () { $("div").queue("fx", []); $("div").stop(); });
dequeue([name])
返回值
jQuery
参数
name (String) :队列名,默认为fx
示例
用dequeue来结束自定义队列函数,并让队列继续进行下去。
HTML 代码:
<style> div { margin:3px; width:50px; position:absolute; height:50px; left:10px; top:30px; background-color:yellow; } div.red { background-color:red; } </style> <button>Start</button> <div></div>
jQuery 代码:
$("button").click(function () { $("div").animate({left:'+=200px'}, 2000); $("div").animate({top:'0px'}, 600); $("div").queue(function () { $(this).toggleClass("red"); $(this).dequeue(); }); $("div").animate({left:'10px', top:'30px'}, 700); });
jQuery.fn.extend(object)
返回值
jQuery
参数
object (Object) :用来扩充 jQuery 对象。
示例
增加两个插件方法。
jQuery 代码:
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});
结果:
$("input[type=radio]").uncheck();
jQuery.extend(object)
返回值
jQuery
参数
object (Object) : 用以扩展 jQuery 对象
示例
在jQuery命名空间上增加两个函数。
jQuery 代码:
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
结果:
jQuery.max(4,5); // => 5
jQuery.noConflict()
这有助于确保jQuery不会与其他库的$对象发生冲突。
在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。
注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。
This helps to make sure that jQuery doesn't conflict with the $ object of other libraries.
By using this function, you will only be able to access jQuery using the 'jQuery' variable. For example, where you used to do $("div p"), you now must do jQuery("div p").
NOTE: This function must be called after including the jQuery javascript file, but before including any other conflicting library, and also before actually that other conflicting library gets used, in case jQuery is included last.
返回值
jQuery
示例
将$引用的对象映射回原始的对象。
jQuery 代码:
// 使用 jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';
恢复使用别名$,然后创建并执行一个函数,在这个函数的作用域中仍然将$作为jQuery的别名来使用。在这个函数中,原来的$对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效。
jQuery 代码:
(function($) {
$(function() {
// 使用 $ 作为 jQuery 别名的代码
});
})(jQuery);
// 其他用 $ 作为别名的库的代码
创建一个新的别名用以在接下来的库中使用jQuery对象。
jQuery 代码:
// 基于 jQuery 的代码
j("div p").hide();
// 基于其他库的 $() 代码
$("content").style.display = 'none';
jQuery.noConflict(extreme)
返回值
jQuery
参数
extreme (Boolean) : 传入 true 来允许彻底将jQuery变量还原
示例
完全将 jQuery 移到一个新的命名空间。
jQuery 代码:
dom.query = jQuery.noConflict(true);
结果:
dom.query("div p").hide();
// 另一个库 $() 的代码
$("content").style.display = 'none';
// 另一个版本 jQuery 的代码
jQuery("div > p").hide();
#id
返回值
Element
参数
id (String) : 用于搜索的,通过元素的 id 属性中给定的值
示例
查找 ID 为"myDiv"的元素。
HTML 代码:
<div id="myDiv">id="myDiv"</div>
jQuery 代码:
结果:
查找含有特殊字符的元素
HTML 代码:
<span id="foo[bar]"></span>
<span id="foo.bar"></span>
jQuery 代码:
#foo//[bar//]
#foo//.bar
element
返回值
Array<Element>
参数
element (String) : 一个用于搜索的元素。指向 DOM 节点的标签名。
示例
查找一个 DIV 元素。
HTML 代码:
<div>DIV2</div>
<span>SPAN</span>
jQuery 代码:
结果:
.class
返回值
Array<Element>
参数
class (String) : 一个用以搜索的类。一个元素可以有多个类,只要有一个符合就能被匹配到。
示例
查找所有类是 "myClass" 的元素.
HTML 代码:
<div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span>
jQuery 代码:
结果:
*
返回值
Array<Element>
示例
找到每一个元素
HTML 代码:
<span>SPAN</span>
<p>P</p>
jQuery 代码:
结果:
selector1,selector2,selectorN
返回值
Array<Element>
参数
selector1 (Selector) : 一个有效的选择器
selector2 (Selector) : 另一个有效的选择器
selectorN (Selector) : (可选) 任意多个有效选择器
示例
找到匹配任意一个类的元素。
HTML 代码:
<p class="myClass">p class="myClass"</p>
<span>span</span>
<p class="notMyClass">p class="notMyClass"</p>
jQuery 代码:
结果:
ancestor descendant
返回值
Array<Element>
参数
ancestor (Selector) : 任何有效选择器
descendant (Selector) : 用以匹配元素的选择器,并且它是第一个选择器的后代元素
示例
找到表单中所有的 input 元素
HTML 代码:
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
结果:
parent > child
返回值
Array<Element>
参数
parent (Selector) : 任何有效选择器
child (Selector) : 用以匹配元素的选择器,并且它是第一个选择器的子元素
示例
匹配表单中所有的子级input元素。
HTML 代码:
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
结果:
prev + next
返回值
Array<Element>
参数
prev (Selector) : 任何有效选择器
next (Selector) :一个有效选择器并且紧接着第一个选择器
示例
匹配所有跟在 label 后面的 input 元素
HTML 代码:
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
结果:
prev ~ siblings
返回值
Array<Element>
参数
prev (Selector) : 任何有效选择器
siblings (Selector) : 一个选择器,并且它作为第一个选择器的同辈
示例
找到所有与表单同辈的 input 元素
HTML 代码:
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
结果:
:first
返回值
Element
示例
查找表格的第一行
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:last
返回值
Element
示例
查找表格的最后一行
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:not(selector)
返回值
Array<Element>
参数
selector (Selector) : 用于筛选的选择器
示例
查找所有未选中的 input 元素
HTML 代码:
<input name="flower" checked="checked" />
jQuery 代码:
结果:
:even
返回值
Array<Element>
示例
查找表格的1、3、5...行(即索引值0、2、4...)
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:odd
返回值
Array<Element>
示例
查找表格的2、4、6行(即索引值1、3、5...)
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:eq(index)
返回值
Element
参数
index (Number) : 从 0 开始计数
示例
查找第二行
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:gt(index)
返回值
Array<Element>
参数
index (Number) : 从 0 开始计数
示例
查找第二第三行,即索引值是1和2,也就是比0大
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:lt(index)
返回值
Array<Element>
参数
index (Number) : 从 0 开始计数
示例
查找第一第二行,即索引值是0和1,也就是比2小
HTML 代码:
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:header
返回值
Array<Element>
示例
给页面内所有标题加上背景色
HTML 代码:
<p>Contents 1</p>
<h2>Header 2</h2>
<p>Contents 2</p>
jQuery 代码:
结果:
:animated
返回值
Array<Element>
示例
只有对不在执行动画效果的元素执行一个动画特效
HTML 代码:
jQuery 代码:
$("div:not(:animated)").animate({ left: "+=20" }, 1000);
});
:contains(text)
返回值
Array<Element>
参数
text (String) : 一个用以查找的字符串
示例
查找所有包含 "John" 的 div 元素
HTML 代码:
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn
jQuery 代码:
结果:
:empty
返回值
Array<Element>
示例
查找所有不包含子元素或者文本的空元素
HTML 代码:
<tr><td>Value 1</td><td></td></tr>
<tr><td>Value 2</td><td></td></tr>
</table>
jQuery 代码:
结果:
:has(selector)
返回值
Array<Element>
参数
selector (Selector) : 一个用于筛选的选择器
示例
给所有包含 p 元素的 div 元素添加一个 text 类
HTML 代码:
<div>Hello again!</div>
jQuery 代码:
结果:
:parent
返回值
Array<Element>
示例
查找所有含有子元素或者文本的 td 元素
HTML 代码:
<tr><td>Value 1</td><td></td></tr>
<tr><td>Value 2</td><td></td></tr>
</table>
jQuery 代码:
结果:
:hidden
返回值
Array<Element>
示例
查找所有不可见的 tr 元素
HTML 代码:
<tr style="display:none"><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
:visible
返回值
Array<Element>
示例
查找所有可见的 tr 元素
HTML 代码:
<tr style="display:none"><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
[attribute]
返回值
Array<Element>
参数
attribute (String) : 属性名
示例
查找所有含有 id 属性的 div 元素
HTML 代码:
<p>Hello!</p>
</div>
<div id="test2"></div>
jQuery 代码:
结果:
[attribute=value]
返回值
Array<Element>
参数
attribute (String) : 属性名
value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
示例
查找所有 name 属性是 newsletter 的 input 元素
HTML 代码:
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" />
jQuery 代码:
结果:
[attribute!=value]
要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])
返回值
Array<Element>
参数
attribute (String) : 属性名
value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
示例
查找所有 name 属性不是 newsletter 的 input 元素
HTML 代码:
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" />
jQuery 代码:
结果:
[attribute^=value]
返回值
Array<Element>
参数
attribute (String) : 属性名
value ( String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
示例
查找所有 name 以 'news' 开始的 input 元素
HTML 代码:
<input name="milkman" />
<input name="newsboy" />
jQuery 代码:
结果:
[attribute$=value]
返回值
Array<Element>
参数
attribute (String) : 属性名
value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
示例
查找所有 name 以 'letter' 结尾的 input 元素
HTML 代码:
<input name="milkman" />
<input name="jobletter" />
jQuery 代码:
结果:
[attribute*=value]
返回值
Array<Element>
参数
attribute (String) : 属性名
value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
示例
查找所有 name 包含 'man' 的 input 元素
HTML 代码:
<input name="milkman" />
<input name="letterman2" />
<input name="newmilk" />
jQuery 代码:
结果:
[selector1][selector2][selectorN]
返回值
Array<Element>
参数
selector1 (Selector) : 属性选择器
selector2 (Selector) : 另一个属性选择器,用以进一步缩小范围
selectorN (Selector) : 任意多个属性选择器
示例
找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的
HTML 代码:
<input name="milkman" />
<input id="letterman" name="new-letterman" />
<input name="newmilk" />
jQuery 代码:
结果:
:nth-child(index/even/odd/equation)
可以使用:
nth-child(even)
:nth-child(odd)
:nth-child(3n)
:nth-child(2)
:nth-child(3n+1)
:nth-child(3n+2)
返回值
Array<Element>
参数
index (Number) : 要匹配元素的序号,从1开始
示例
在每个 ul 查找第 2 个li
HTML 代码:
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
jQuery 代码:
结果:
:first-child
返回值
Array<Element>
示例
在每个 ul 中查找第一个 li
HTML 代码:
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
jQuery 代码:
结果:
:last-child
返回值
Array<Element>
示例
在每个 ul 中查找最后一个 li
HTML 代码:
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
jQuery 代码:
结果:
:only-child
返回值
Array<Element>
示例
在 ul 中查找是唯一子元素的 li
HTML 代码:
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
</ul>
jQuery 代码:
结果:
:input
返回值
Array<Element>
示例
查找所有的input元素
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:text
返回值
Array<Element>
示例
查找所有文本框
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:password
返回值
Array<Element>
示例
查找所有密码框
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:radio
返回值
Array<Element>
示例
查找所有单选按钮
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:checkbox
返回值
Array<Element>
示例
查找所有复选框
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:submit
返回值
Array<Element>
示例
查找所有提交按钮
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:image
返回值
Array<Element>
示例
匹配所有图像域
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:reset
返回值
Array<Element>
示例
查找所有重置按钮
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:button
返回值
Array<Element>
示例
查找所有按钮.
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:file
返回值
Array<Element>
示例
查找所有文件域
HTML 代码:
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
jQuery 代码:
结果:
:hidden
返回值
Array<Element>
示例
查找隐藏的 tr
HTML 代码:
<tr style="display:none"><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>
jQuery 代码:
结果:
匹配type为hidden的元素
HTML 代码:
<input type="text" name="email" />
<input type="hidden" name="id" />
</form>
jQuery 代码:
结果:
:enabled
返回值
Array<Element>
示例
查找所有可用的input元素
HTML 代码:
<input name="email" disabled="disabled" />
<input name="id" />
</form>
jQuery 代码:
结果:
:disabled
返回值
Array<Element>
示例
查找所有不可用的input元素
HTML 代码:
<input name="email" disabled="disabled" />
<input name="id" />
</form>
jQuery 代码:
结果:
:checked
返回值
Array<Element>
示例
查找所有选中的复选框元素
HTML 代码:
<input type="checkbox" name="newsletter" checked="checked" value="Daily" />
<input type="checkbox" name="newsletter" value="Weekly" />
<input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form>
jQuery 代码:
结果:
:selected
返回值
Array<Element>
示例
查找所有选中的选项元素
HTML 代码:
<option value="1">Flowers</option>
<option value="2" selected="selected">Gardens</option>
<option value="3">Trees</option>
</select>
jQuery 代码:
结果:
attr(name)
返回值
Object
参数
name (String) : 属性名称
示例
返回文档中第一个图像的src属性值。
HTML 代码:
jQuery 代码:
结果:
attr(properties)
返回值
jQuery
参数
properties (Map) : 作为属性的“名/值对”对象
示例
为所有图像设置src和alt属性。
HTML 代码:
jQuery 代码:
结果:
attr(key,value)
返回值
jQuery
参数
key (String) : 属性名称
value (Object) : 属性值
示例
为所有图像设置src属性。
HTML 代码:
<img/>
jQuery 代码:
结果:
attr(key,fn)
返回值
jQuery
参数
key (String) : 属性名称
fn (Function) : 返回值的函数 范围:当前元素, 参数: 当前元素的索引值
示例
把src属性的值设置为title属性的值。
HTML 代码:
jQuery 代码:
结果:
removeAttr(name)
返回值
jQuery
参数
name (String) : 要删除的属性名
示例
将文档中图像的src属性删除
HTML 代码:
jQuery 代码:
结果:
addClass(class)
返回值
jQuery
参数
class (String) : 一个或多个要添加到元素中的CSS类名,请用空格分开
示例
为匹配的元素加上 'selected' 类
HTML 代码:
jQuery 代码:
结果:
为匹配的元素加上 selected highlight 类
HTML 代码:
jQuery 代码:
结果:
removeClass(class)
返回值
jQuery
参数
class (String) : (可选) 一个或多个要删除的CSS类名,请用空格分开
示例
从匹配的元素中删除 'selected' 类
HTML 代码:
jQuery 代码:
结果:
删除匹配元素的所有类
HTML 代码:
jQuery 代码:
结果:
toggleClass(class)
返回值
jQuery
示例
删除存在类名。
HTML 代码:
jQuery 代码:
结果:
toggleClass(class)
返回值
jQuery
参数
class (String) :CSS类名
示例
为匹配的元素切换 'selected' 类
HTML 代码:
jQuery 代码:
结果:
toggleClass( class, switch )
返回值
jQuery
参数
class (String) :要切换的CSS类名
switch (Boolean) :用于决定元素是否包含class的布尔值。
示例
每点击三下加上一次 'selected' 类
HTML 代码:
jQuery 代码:
$("p").click(function(){
$(this).toggleClass("highlight", count++ % 3 == 0);
});
html()
返回值
String
示例
HTML 代码:
jQuery 代码:
结果:
html(val)
返回值
jQuery
参数
val (String) : 用于设定HTML内容的值
示例
HTML 代码:
jQuery 代码:
结果:
text()
返回值
String
示例
HTML 代码:
jQuery 代码:
结果:
text(val)
返回值
jQuery
参数
val (String) : 用于设置元素内容的文本
示例
HTML 代码:
jQuery 代码:
结果:
val()
返回值
String,Array
示例
获得单个select的值和多选select的值。
HTML 代码:
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
jQuery 代码:
"<b>Single:</b> " + $("#single").val() +
" <b>Multiple:</b> " + $("#multiple").val().join(", ")
);
结果:
获取文本框中的值
HTML 代码:
jQuery 代码:
结果:
val(val)
返回值
jQuery
参数
val (String) : 要设置的值。
示例
设定文本框的值
HTML 代码:
jQuery 代码:
val(val)
返回值
jQuery
参数
val (Array<String>) : 用于 check/select 的值
示例
设定一个select和一个多选的select的值
HTML 代码:
<option>Single</option>
<option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" value="check1"/> check1
<input type="checkbox" value="check2"/> check2
<input type="radio" value="radio1"/> radio1
<input type="radio" value="radio2"/> radio2
jQuery 代码:
$("#multiple").val(["Multiple2", "Multiple3"]);
$("input").val(["check2", "radio1"]);
eq(index)
返回值
jQuery
参数
index (Integer) :元素在jQuery对象中的索引
示例
获取匹配的第二个元素
HTML 代码:
jQuery 代码:
结果:
filter(expr)
返回值
jQuery
参数
expr (Expression) : 表达式
示例
保留带有select类的元素
HTML 代码:
jQuery 代码:
结果:
保留第一个以及带有select类的元素
HTML 代码:
jQuery 代码:
结果:
filter(fn)
返回值
jQuery
参数
fn (Function) : 传递进filter的函数
示例
保留子元素中不含有ol的元素。
HTML 代码:
jQuery 代码:
return $("ol", this).length == 0;
});
结果:
first()
返回值
jQuery
示例
返回第一个元素。
HTML 代码:
jQuery 代码:
结果:
last()
返回值
jQuery
示例
返回第一个元素。
HTML 代码:
jQuery 代码:
结果:
is(expr)
返回值
Boolean
参数
expr (String) :用于筛选的表达式
示例
由于input元素的父元素是一个表单元素,所以返回true。
HTML 代码:
jQuery 代码:
结果:
map(callback)
返回值
jQuery
参数
callback (Function) : 给每个元素执行的函数
示例
把form中的每个input元素的值建立一个列表。
HTML 代码:
<form>
<input type="text" name="name" value="John"/>
<input type="text" name="password" value="password"/>
<input type="text" name="url" value="http://ejohn.org/"/>
</form>
jQuery 代码:
return $(this).val();
}).get().join(", ") );
结果:
not(expr)
返回值
jQuery
参数
expr (String, DOMElement, Array<DOMElement>) : 一个表达式、一个元素或者一组元素
示例
从p元素中删除带有 select ID的元素
HTML 代码:
jQuery 代码:
结果:
slice(start,[end])
返回值
jQuery
参数
start (Integer) :开始选取子集的位置。第一个元素是0,如果是负数,则可以从集合的尾部开始选起。
end (Integer) : (可选) 结束选取自己的位置,如果不指定,则就是本身的结尾。
示例
选择第一个p元素
HTML 代码:
jQuery 代码:
结果:
选择前两个p元素
HTML 代码:
jQuery 代码:
结果:
只选取第二个p元素
HTML 代码:
jQuery 代码:
结果:
只选取第二第三个p元素
HTML 代码:
jQuery 代码:
结果:
选取第最后一个p元素
HTML 代码:
jQuery 代码:
结果:
add(expr)
返回值
jQuery
参数
expr (String, DOMElement, Array<DOMElement>) : 用于匹配元素并添加的表达式字符串,或者用于动态生成的HTML代码,如果是一个字符串数组则返回多个元素
示例
添加一个新元素到一组匹配的元素中,并且这个新元素能匹配给定的表达式。
HTML 代码:
jQuery 代码:
结果:
动态生成一个元素并添加至匹配的元素中
HTML 代码:
jQuery 代码:
结果:
为匹配的元素添加一个或者多个元素
HTML 代码:
jQuery 代码:
结果:
children([expr])
返回值
jQuery
参数
expr (String) : (可选) 用以过滤子元素的表达式
示例
查找DIV中的每个子元素。
HTML 代码:
jQuery 代码:
结果:
在每个div中查找 .selected 的类。
HTML 代码:
jQuery 代码:
结果:
closest( [expr] )
closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。
closest对于处理事件委派非常有用。
返回值
jQuery
参数
expr (String) : (可选) 用以过滤元素的表达式
示例
展示如何使用clostest来完成事件委派。
HTML 代码:
<li><b>Click me!</b></li>
<li>You can also <b>Click me!</b></li>
</ul>
jQuery 代码:
$(e.target).closest("li").toggleClass("hilight");
});
contents()
返回值
jQuery
示例
查找所有文本节点并加粗
HTML 代码:
jQuery 代码:
结果:
向框架网页中添加内容
HTML 代码:
jQuery 代码:
find(expr)
返回值
jQuery
参数
expr (String) :用于查找的表达式
示例
从所有的段落开始,进一步搜索下面的span元素。与$("p span")相同。
HTML 代码:
jQuery 代码:
结果:
next([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于筛选的表达式
示例
找到每个段落的后面紧邻的同辈元素。
HTML 代码:
jQuery 代码:
结果:
找到每个段落的后面紧邻的同辈元素中类名为selected的元素。
HTML 代码:
jQuery 代码:
结果:
nextAll([expr])
返回值
jQuery
参数
expr (String) : (可选)用来过滤的表达式
示例
给第一个div之后的所有元素加个类
HTML 代码:
jQuery 代码:
结果:
offsetParent()
返回值
jQuery
parent([expr])
返回值
jQuery
参数
expr (String) : (可选)用来筛选的表达式
示例
查找每个段落的父元素
HTML 代码:
jQuery 代码:
结果:
查找段落的父元素中每个类名为selected的父元素。
HTML 代码:
jQuery 代码:
结果:
parents([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于筛选祖先元素的表达式
示例
找到每个span元素的所有祖先元素。
HTML 代码:
jQuery 代码:
找到每个span的所有是p元素的祖先元素。
jQuery 代码:
prev([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于筛选前一个同辈元素的表达式
示例
找到每个段落紧邻的前一个同辈元素。
HTML 代码:
jQuery 代码:
结果:
找到每个段落紧邻的前一个同辈元素中类名为selected的元素。
HTML 代码:
jQuery 代码:
结果:
prevAll([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于过滤的表达式
示例
给最后一个之前的所有div加上一个类
HTML 代码:
jQuery 代码:
结果:
siblings([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于筛选同辈元素的表达式
示例
找到每个div的所有同辈元素。
HTML 代码:
jQuery 代码:
结果:
找到每个div的所有同辈元素中带有类名为selected的元素。
HTML 代码:
jQuery 代码:
结果:
andSelf()
返回值
jQuery
示例
选取所有div以及内部的p,并加上border类
HTML 代码:
jQuery 代码:
结果:
end()
返回值
jQuery
示例
选取所有的p元素,查找并选取span子元素,然后再回过来选取p元素
HTML 代码:
jQuery 代码:
结果:
append(content)
返回值
jQuery
参数
content (String, Element, jQuery) : 要追加到目标中的内容
示例
向所有段落中追加一些HTML标记。
HTML 代码:
jQuery 代码:
结果:
appendTo(content)
返回值
jQuery
参数
content (String) :用于被追加的内容
示例
把所有段落追加到ID值为foo的元素中。
HTML 代码:
jQuery 代码:
结果:
prepend(content)
返回值
jQuery
参数
content (String, Element, jQuery) : 要插入到目标元素内部前端的内容
示例
向所有段落中前置一些HTML标记代码。
HTML 代码:
jQuery 代码:
结果:
将一个DOM元素前置入所有段落
HTML 代码:
<p>I would like to say: </p>
<b class="foo">Hello</b>
<b class="foo">Good Bye</b>
jQuery 代码:
结果:
<p><b class="foo">Hello</b>I would like to say: </p>
<b class="foo">Hello</b>
<b class="foo">Good Bye</b>
向所有段落中前置一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
jQuery 代码:
结果:
prependTo(content)
返回值
jQuery
参数
content (String) :用于匹配元素的jQuery表达式
示例
把所有段落追加到ID值为foo的元素中。
HTML 代码:
jQuery 代码:
结果:
after(content)
返回值
jQuery
参数
content (String, Element, jQuery) : 插入到每个目标后的内容
示例
在所有段落之后插入一些HTML标记代码。
HTML 代码:
jQuery 代码:
结果:
在所有段落之后插入一个DOM元素。
HTML 代码:
jQuery 代码:
结果:
在所有段落中后插入一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
jQuery 代码:
结果:
before(content)
返回值
jQuery
参数
content (String, Element, jQuery) : 插入到每个目标前的内容
示例
在所有段落之前插入一些HTML标记代码。
HTML 代码:
jQuery 代码:
结果:
在所有段落之前插入一个元素。
HTML 代码:
jQuery 代码:
结果:
在所有段落中前插入一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
jQuery 代码:
结果:
insertAfter(content)
返回值
jQuery
参数
content (String) : 用于匹配元素的jQuery表达式
示例
把所有段落插入到一个元素之后。与 $("#foo").after("p")相同
HTML 代码:
jQuery 代码:
结果:
insertBefore(content)
返回值
jQuery
参数
content (String) : 用于匹配元素的jQuery表达式
示例
把所有段落插入到一个元素之前。与 $("#foo").before("p")相同。
HTML 代码:
jQuery 代码:
结果:
wrap(html)
这个函数的原理是检查提供的第一个元素(它是由所提供的HTML标记代码动态生成的),并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包裹元素。
当HTML标记代码中的元素包含文本时无法使用这个函数。因此,如果要添加文本应该在包裹完成之后再行添加。This works by going through the first element provided (which is generated, on the fly, from the provided HTML) and finds the deepest ancestor element within its structure -- it is that element that will enwrap everything else.
This does not work with elements that contain text. Any necessary text must be added after the wrapping is done.返回值
jQuery
参数
html (String) : HTML标记代码字符串,用于动态生成元素并包裹目标元素
示例
把所有的段落用一个新创建的div包裹起来
HTML 代码:
jQuery 代码:
结果:
wrap(elem)
返回值
jQuery
参数
elem (Element) : 用于包装目标元素的DOM元素
示例
用ID是"content"的div将每一个段落包裹起来
HTML 代码:
jQuery 代码:
结果:
wrapAll(html)
这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。
这个函数的原理是检查提供的第一个元素并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包装元素。This wrapping process is most useful for injecting additional structure into a document, without ruining the original semantic qualities of a document.
This works by going through the first element provided (which is generated, on the fly, from the provided HTML) and finds the deepest ancestor element within its structure -- it is that element that will enwrap everything else.返回值
jQuery
参数
html (String) : TML标记代码字符串,用于动态生成元素并包装目标元素
示例
用一个生成的div将所有段落包裹起来
HTML 代码:
jQuery 代码:
结果:
wrapAll(elem)
返回值
jQuery
参数
elem (Element) : 用于包装目标元素的DOM元素
示例
用一个生成的div将所有段落包裹起来
HTML 代码:
jQuery 代码:
结果:
wrapInner(html)
返回值
jQuery
参数
html (String) : HTML标记代码字符串,用于动态生成元素并包装目标元素
示例
把所有段落内的每个子内容加粗
HTML 代码:
jQuery 代码:
结果:
wrapInner(elem)
返回值
jQuery
参数
elem (Element) : 用于包装目标元素的DOM元素
示例
把所有段落内的每个子内容加粗
HTML 代码:
jQuery 代码:
结果:
replaceWith(content)
返回值
jQuery
参数
content (String, Element, jQuery) : 用于将匹配元素替换掉的内容
示例
把所有的段落标记替换成加粗的标记。
HTML 代码:
jQuery 代码:
结果:
replaceAll(selector)
返回值
jQuery
参数
selector (选择器) : 用于查找所要被替换的元素
示例
把所有的段落标记替换成加粗标记
HTML 代码:
jQuery 代码:
结果:
empty()
返回值
jQuery
示例
把所有段落的子元素(包括文本节点)删除
HTML 代码:
jQuery 代码:
结果:
remove([expr])
返回值
jQuery
参数
expr (String) : (可选) 用于筛选元素的jQuery表达式
示例
从DOM中把所有段落删除
HTML 代码:
jQuery 代码:
结果:
从DOM中把带有hello类的段落删除
HTML 代码:
jQuery 代码:
结果:
clone()
返回值
jQuery
示例
克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。
HTML 代码:
jQuery 代码:
结果:
clone(true)
返回值
jQuery
参数
true (Boolean) : 设置为true以便复制元素的所有事件处理
示例
创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
HTML 代码:
jQuery 代码:
$(this).clone(true).insertAfter(this);
});
css(name)
返回值
String
参数
name (String) : 要访问的属性名称
示例
取得第一个段落的color样式属性的值。
jQuery 代码:
css(properties)
返回值
jQuery
参数
properties (Map) : 要设置为样式属性的名/值对
示例
将所有段落的字体颜色设为红色并且背景为蓝色。
jQuery 代码:
如果属性名包含 "-"的话,必须使用引号:
jQuery 代码:
css(name,value)
返回值
jQuery
参数
name (value) : 属性名
value (String, Number) : 属性值
示例
将所有段落字体设为红色
jQuery 代码:
offset()
返回值
Object{top,left}
示例
获取第二段的偏移
HTML 代码:
jQuery 代码:
var offset = p.offset();
p.html( "left: " + offset.left + ", top: " + offset.top );
结果:
position()
返回值
Object{top,left}
示例
获取第一段的偏移
HTML 代码:
jQuery 代码:
var position = p.position();
$("p:last").html( "left: " + position.left + ", top: " + position.top );
结果:
scrollTop()
返回值
Integer
示例
获取第一段相对滚动条顶部的偏移
HTML 代码:
jQuery 代码:
$("p:last").text( "scrollTop:" + p.scrollTop() );
结果:
scrollTop(val)
返回值
jQuery
示例
设置相对滚动条顶部的偏移
jQuery 代码:
scrollLeft()
返回值
Integer
示例
获取第一段相对滚动条左侧的偏移
HTML 代码:
jQuery 代码:
$("p:last").text( "scrollLeft:" + p.scrollLeft() );
结果:
scrollLeft(val)
返回值
jQuery
示例
设置相对滚动条左侧的偏移
jQuery 代码:
height()
返回值
Integer
示例
获取第一段的高
jQuery 代码:
获取文档的高
jQuery 代码:
height(val)
返回值
jQuery
参数
val (String, Number) : 设定CSS中 'height' 的值
示例
把所有段落的高设为 20:
jQuery 代码:
width()
返回值
Integer
示例
获取第一段的宽
jQuery 代码:
获取当前窗口的宽
jQuery 代码:
width(val)
返回值
jQuery
参数
val (String, Number) : 设定 CSS 'width' 的属性值
示例
将所有段落的宽设为 20:
jQuery 代码:
innerHeight()
返回值
Integer
示例
获取第一段落内部区域高度。
HTML 代码:
jQuery 代码:
$("p:last").text( "innerHeight:" + p.innerHeight() );
结果:
innerHeight()
返回值
Integer
示例
获取第一段落内部区域宽度。
HTML 代码:
jQuery 代码:
$("p:last").text( "innerWidth:" + p.innerWidth() );
结果:
outerHeight(options)
返回值
Integer
参数
options(Boolean) : (false) 设置为 true 时,计算边距在内。
示例
获取第一段落外部高度。
HTML 代码:
jQuery 代码:
$("p:last").text( "outerHeight:" + p.outerHeight() + " , outerHeight(true):" + p.outerHeight(true) );
结果:
outerWidth(options)
返回值
Integer
参数
options(Boolean) : (false) 设置为 true 时,计算边距在内。
示例
获取第一段落外部宽度。
HTML 代码:
jQuery 代码:
$("p:last").text( "outerWidth:" + p.outerWidth() + " , outerWidth(true):" + p.outerWidth(true) );
结果:
ready(fn)
这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。
简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。
有一个参数--对jQuery函数的引用--会传递到这个ready事件处理函数中。可以给这个参数任意起一个名字,并因此可以不再担心命名冲突而放心地使用$别名。
请确保在 <body> 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。
可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。
This is probably the most important function included in the event module, as it can greatly improve the response times of your web applications.
In a nutshell, this is a solid replacement for using window.onload, and attaching a function to that. By using this method, your bound function will be called the instant the DOM is ready to be read and manipulated, which is when what 99.99% of all JavaScript code needs to run.
There is one argument passed to the ready event handler: A reference to the jQuery function. You can name that argument whatever you like, and can therefore stick with the $ alias without risk of naming collisions.
Please ensure you have no code in your <body> onload event handler, otherwise $(document).ready() may not fire.
You can have as many $(document).ready events on your page as you like. The functions are then executed in the order they were added.
返回值
jQuery
参数
fn (Function) : 要在DOM就绪时执行的函数
示例
在DOM加载完成时运行的代码,可以这样写:
jQuery 代码:
// 在这里写你的代码...
});
使用 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何。
jQuery 代码:
// 你可以在这里继续使用$作为别名...
});
bind(type,[data],fn)
返回值
jQuery
参数
type (String) : 事件类型
data (Object) : (可选) 作为event.data属性值传递给事件对象的额外数据对象
fn ( Function) : 绑定到每个匹配元素的事件上面的处理函数
示例
当每个段落被点击的时候,弹出其文本。
jQuery 代码:
alert( $(this).text() );
});
你可以在事件处理之前传递一些附加的数据。
jQuery 代码:
alert(event.data.foo);
}
$("p").bind("click", {foo: "bar"}, handler)
通过返回false来取消默认的行为并阻止事件起泡。
jQuery 代码:
通过使用 preventDefault() 方法只取消默认的行为。
jQuery 代码:
event.preventDefault();
});
通过使用 stopPropagation() 方法只阻止一个事件起泡。
jQuery 代码:
event.stopPropagation();
});
one(type,[data],fn)
在每个对象上,这个事件处理函数只会被执行一次。其他规则与bind()函数相同。这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
多数情况下,可以把事件处理函数定义为匿名函数(见示例一)。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数),见示例二。
The handler is executed only once for each element. Otherwise, the same rules as described in 'bind()' apply. The event handler is passed an event object that you can use to prevent default behaviour. To stop both default action and event bubbling, your handler should return false.
In most cases, you can define your event handlers as anonymous functions (see first example). In cases where that is not possible, you can pass additional data as the second paramter (and the handler function as the third), see second example.
返回值
jQuery
参数
type (String) : 事件类型
data (Object) : (可选) 作为event.data属性值传递给事件对象的额外数据对象
fn (Function) : 绑定到每个匹配元素的事件上面的处理函数
示例
当所有段落被第一次点击的时候,显示所有其文本。
jQuery 代码:
alert( $(this).text() );
});
trigger(type,[data])
这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
你也可以触发由bind()注册的自定义事件而不限于浏览器默认事件。
事件处理函数会收到一个修复的(规范化的)事件对象,但这个对象没有特定浏览器才有的属性,比如keyCode。
jQuery也支持 命名空间事件。这允许你触发或者解除绑定一组特定的事件处理函数,而无需一一个指定。你可以在事件类型后面加上感叹号 ! 来只触发那些没有命名空间的事件处理函数。
jQuery 1.3中新增:
所有触发的事件现在会冒泡到DOM树上了。举例来说,如果你在一个段落p上触发一个事件,他首先会在这个元素上触发,其次到父元素,在到父元素的父元素,直到触发到document对象。这个事件对象有一个 .target 属性指向最开始触发这个事件的元素。你可以用 stopPropagation() 来阻止事件冒泡,或者在事件处理函数中返回false即可。
事件对象构造器现在已经公开,并且你可以自行创建一个事件对象。这个事件对象可以直接传递给trigger所触发的事件处理函数。事件对象的完整属性列表可以在 jQuery.Event 的文档里找到。
你可以有三种方式指定事件类型:
* 你可以传递字符串型的事件名称(type参数)。
* 你可以使用jQuery.Event对象。可以将数据放进这个对象,并且这个对象可以被触发的事件处理函数获取到。
* 最后,你可以传递一个带有数据的字面量对象。他将被复制到真正的jQuery.Event对象上去。 注意在这种情况下你必须指定一个 type 属性。
This will also cause the default action of the browser with the same name (if one exists) to be executed. For example, passing 'submit' to the trigger() function will also cause the browser to submit the form. This default action can be prevented by returning false from one of the functions bound to the event.
You can also trigger custom events registered with bind.
返回值
jQuery
参数
type (String,Event,Object) : 一个事件对象或者要触发的事件类型
data (Array) : (可选)传递给事件处理函数的附加参数
示例
提交第一个表单,但不用submit()
jQuery 代码:
给一个事件传递参数
jQuery 代码:
// 一个普通的点击事件时,a和b是undefined类型
// 如果用下面的语句触发,那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]);
下面的代码可以显示一个"Hello World"
jQuery 代码:
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
triggerHandler(type,[data])
* 第一,他不会触发浏览器默认事件。
* 第二,只触发jQuery对象集合中第一个元素的事件处理函数。
* 第三,这个方法的返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回 undefined 。
返回值
jQuery
参数
type (String) : 要触发的事件类型
data (Array) : (可选)传递给事件处理函数的附加参数
示例
如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。
HTML 代码:
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/>
jQuery 代码:
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){ $("<span>Focused!</span>").appendTo("body").fadeOut(1000); });
unbind([type],[data])
如果没有参数,则删除所有绑定的事件。
你可以将你用bind()注册的自定义事件取消绑定。
如果提供了事件类型作为参数,则只删除该类型的绑定事件。
如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。
Without any arguments, all bound events are removed.
You can also unbind custom events registered with bind.
If the type is provided, all bound events of that type are removed.
If the function that was passed to bind is provided as the second argument, only that specific event handler is removed.
返回值
jQuery
参数
type (String) : (可选) 事件类型
data (Function) : (可选) 要从每个匹配元素的事件中反绑定的事件处理函数
示例
把所有段落的所有事件取消绑定
jQuery 代码:
将段落的click事件取消绑定
jQuery 代码:
删除特定函数的绑定,将函数作为第二个参数传入
jQuery 代码:
// 处理某个事件的代码
};
$("p").bind("click", foo); // ... 当点击段落的时候会触发 foo
$("p").unbind("click", foo); // ... 再也不会被触发 foo
live( type, [config], fn )
目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。
不支持 blur, focus, mouseenter, mouseleave, change, submit
与bind()不同的是,live()一次只能绑定一个事件。
这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。
.live()与流行的liveQuery插件很像,但有以下几个主要区别:
- .live 目前只支持所有事件的子集,支持列表参考上面的说明。
- .live 不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。
- .live 没有"setup"和"cleanup"的过程。因为所有的事件是委派而不是直接绑定在元素上的。
要移除用live绑定的事件,请用die方法
返回值
jQuery
参数
type (String) : 一个或多个用空格分隔的事件名
config (Object) : 预设参数
fn (Function) : 欲绑定的事件处理函数
示例
点击生成的p依然据有同样的功能。
HTML 代码:
jQuery 代码:
$(this).after("<p>Another paragraph!</p>");
});
die(fn,fn)
如果不带参数,则所有绑定的live事件都会被移除。
你可以解除用live注册的自定义事件。
如果提供了type参数,那么会移除对应的live事件。
如果也指定了第二个参数function,则只移出指定的事件处理函数。
Without any arguments, all bound live events are removed. You can also unbind custom events registered with live. If the type is provided, all bound live events of that type are removed. If the function that was passed to live is provided as the second argument, only that specific event handler is removed.
返回值
jQuery
参数
type (String) : 可选,要解除绑定的live事件
fn (Function) : 可选,要解除绑定的特定处理函数
示例
给按钮解除click事件
jQuery 代码:
hover(over, [out])
返回值
jQuery
参数
over (Function) : 鼠标移到元素上要触发的函数
out (Function) : 鼠标移出元素要触发的函数
示例
鼠标悬停的表格加上特定的类
jQuery 代码:
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
toggle(fn,fn)
如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数,如果有更多函数,则再次触发,直到最后一个。随后的每次点击都重复对这几个函数的轮番调用。
可以使用unbind("click")来删除。
Whenever a matched element is clicked, the first specified function is fired, when clicked again, the second is fired, and so on. All subsequent clicks continue to rotate through the functions.
Use unbind("click") to remove.
返回值
jQuery
参数
fn (Function) : 第一数次点击时要执行的函数。
fn2 (Function) : 第二数次点击时要执行的函数。
fn3,fn4,... (Function) : 更多次点击时要执行的函数。
示例
对表格的切换一个类
jQuery 代码:
function () {
$(this).addClass("selected");
},
function () {
$(this).removeClass("selected");
}
);
对列表的切换样式
HTML 代码:
<li>Go to the store</li>
<li>Pick up dinner</li>
<li>Debug crash</li>
<li>Take a jog</li>
</ul>
jQuery 代码:
function () {
$(this).css({"list-style-type":"disc", "color":"blue"});
},
function () {
$(this).css({"list-style-type":"disc", "color":"red"});
},
function () {
$(this).css({"list-style-type":"", "color":""});
}
);
blur()
返回值
jQuery
示例
触发所有段落的blur事件
jQuery 代码:
blur(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的blur事件中绑定的处理函数。
示例
任何段落失去焦点时弹出一个 "Hello World!"在每一个匹配元素的blur事件中绑定的处理函数。
jQuery 代码:
change()
返回值
jQuery
change(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的change事件中绑定的处理函数。
示例
给所有的文本框增加输入验证
jQuery 代码:
// 这里可以写些验证代码
});
click()
返回值
jQuery
示例
触发页面内所有段落的点击事件
jQuery 代码:
click(fn)
mousedown
mouseup
click
mousedown
mouseup
click
返回值
jQuery
参数
fn (Function) : 绑定到click事件的函数
示例
将页面内所有段落点击后隐藏。
jQuery 代码:
dblclick()
返回值
jQuery
dblclick(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的dblclick事件中绑定的处理函数。
示例
给页面上每个段落的双击事件绑上 "Hello World!" 警告框
jQuery 代码:
error()
返回值
jQuery
error(fn)
对于error事件,没有一个公众的标准。在大多数浏览器中,当页面的JavaScript发生错误时,window对象会触发error事件;当图像的src属性无效时,比如文件不存在或者图像数据错误时,也会触发图像对象的error事件。
如果异常是由window对象抛出,事件处理函数将会被传入三个参数:
1. 描述事件的信息 ("varName is not defined", "missing operator in expression", 等等.),
2. 包含错误的文档的完整URL
3. 异常发生的行数
如果事件处理函数返回true,则表示事件已经被处理,浏览器将认为没有异常。
更多相关信息:
Gecko DOM Reference - onerror Event
There is no public standard for the error event. In most browsers, the window object's error event is triggered when a JavaScript error occurs on the page. An image object's error event is triggered when it is set an invalid src attribute - either a non-existent file, or one with corrupt image data.
If the event is thrown by the window object, the event handler will be passed three parameters:
1. A message describing the event ("varName is not defined", "missing operator in expression", etc.),
2. the full URL of the document containing the error, and
3. the line number on which the error occured.
If the event handler returns true, it signifies that the event was handled, and the browser raises no errors.
For more information, see:
Gecko DOM Reference - onerror Event
返回值
jQuery
参数
fn (Function) :在每一个匹配元素的error事件中绑定的处理函数。
示例
在服务器端记录JavaScript错误日志:
jQuery 代码:
jQuery.post("js_error_log.php", { msg: msg, url: url, line: line });
});
隐藏JavaScript错误:
jQuery 代码:
return true;
});
给你IE的用户隐藏无效的图像:
jQuery 代码:
$(this).hide();
});
focus()
返回值
jQuery
示例
当页面加载后将 id 为 'login' 的元素设置焦点:
jQuery 代码:
$("#login").focus();
});
focus(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的focus事件中绑定的处理函数。
示例
使人无法使用文本框:
jQuery 代码:
this.blur();
});
keydown()
返回值
jQuery
keydown(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的keydown事件中绑定的处理函数。
示例
在页面内对键盘按键做出回应,可以使用如下代码:
jQuery 代码:
switch(event.keyCode) {
// ...
// 不同的按键可以做不同的事情
// 不同的浏览器的keycode不同
// 更多详细信息:
http://unixpapa.com/js/key.html
// ...
}
});
keypress()
返回值
jQuery
keypress(fn)
keydown
keypress
keyup
keydown
keyup
keypress
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的keypress事件中绑定的处理函数。
keyup()
返回值
jQuery
keyup(fn)
返回值
jQuery
参数
fn (Function) :在每一个匹配元素的keyup事件中绑定的处理函数。
load(fn)
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。
When bound to the window element, the event fires when the user agent finishes loading all content within a document, including window, frames, objects and images. For elements, it fires when the target element and all of its content has finished loading.
Note: load will work only if you set it before the element has completely loaded, if you set it after that nothing will happen. This doesn't happen in $(document).ready(), which jQuery handles it to work as expected, also when setting it after the DOM has loaded.
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的load事件中绑定的处理函数。
mousedown(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的mousedown事件中绑定的处理函数。
mousemove(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的mousemove事件中绑定的处理函数。
mouseout(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的mouseout事件中绑定的处理函数。
mouseover(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的mouseover事件中绑定的处理函数。
mouseup(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的mouseup事件中绑定的处理函数。
resize(fn)
返回值
jQuery
参数
fn (Function) :在每一个匹配元素的resize事件中绑定的处理函数。
示例
让人每次改变页面窗口的大小时很郁闷的方法:
jQuery 代码:
alert("Stop it!");
});
scroll(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的resize事件中绑定的处理函数。
示例
当页面滚动条变化时,执行的函数:
jQuery 代码:
select()
返回值
jQuery
示例
触发所有input元素的select事件:
jQuery 代码:
select(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的select事件中绑定的处理函数。
示例
当文本框中文本被选中时执行的函数:
jQuery 代码:
submit()
返回值
jQuery
示例
提交本页的第一个表单:
jQuery 代码:
submit(fn)
返回值
jQuery
参数
fn (Function) :在每一个匹配元素的submit事件中绑定的处理函数
示例
如果你要阻止表单提交:
jQuery 代码:
return false;
} );
unload(fn)
返回值
jQuery
参数
fn (Function) : 在每一个匹配元素的unload事件中绑定的处理函数。
示例
页面卸载的时候弹出一个警告框:
jQuery 代码:
show()
返回值
jQuery
示例
显示所有段落
HTML 代码:
jQuery 代码:
show(speed,[callback])
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (Optional) 在动画完成时执行的函数,每个元素执行一次。
示例
用缓慢的动画将隐藏的段落显示出来,历时600毫秒。
HTML 代码:
jQuery 代码:
用迅速的动画将隐藏的段落显示出来,历时200毫秒。并在之后执行反馈!
HTML 代码:
jQuery 代码:
$(this).text("Animation Done!");
});
将隐藏的段落用将近4秒的时间显示出来。。。并在之后执行一个反馈。。。
HTML 代码:
jQuery 代码:
$(this).text("Animation Done...");
});
hide()
返回值
jQuery
示例
隐藏所有段落
jQuery 代码:
hide(speed,[callback])
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数,每个元素执行一次。
示例
用600毫秒的时间将段落缓慢的隐藏
jQuery 代码:
用200毫秒将段落迅速隐藏,之后弹出一个对话框。
jQuery 代码:
alert("Animation Done.");
});
toggle()
返回值
jQuery
示例
切换所有段落的可见状态。
HTML 代码:
jQuery 代码:
结果:
toggle( switch )
返回值
jQuery
示例
切换所有段落的可见状态。
HTML 代码:
jQuery 代码:
$("button").click(function () {
$("p").toggle( flip++ % 2 == 0 );
});
结果:
toggle(speed,[callback])
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数,每个元素执行一次。
示例
用600毫秒的时间将段落缓慢的切换显示状态
jQuery 代码:
用200毫秒将段落迅速切换显示状态,之后弹出一个对话框。
jQuery 代码:
alert("Animation Done.");
});
slideDown(speed,[callback])
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (FunctionFunction) : (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落滑下
jQuery 代码:
用200毫秒快速将段落滑下,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
slideUp(speed,[callback])
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落滑上
jQuery 代码:
用200毫秒快速将段落滑上,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
slideToggle(speed,[callback])
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落滑上或滑下
jQuery 代码:
用200毫秒快速将段落滑上或滑下,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
fadeIn(speed,[callback])
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) : (Optional) (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落淡入
jQuery 代码:
用200毫秒快速将段落淡入,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
fadeOut(speed,[callback])
返回值
jQuery
参数
speed (String,Number) :三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (Function) :(可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落淡出
jQuery 代码:
用200毫秒快速将段落淡出,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
fadeTo(speed,opacity,[callback])
返回值
jQuery
参数
speed (String,Number) : 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity (Number) : 要调整到的不透明度值(0到1之间的数字).
callback (Function) : (可选) 在动画完成时执行的函数
示例
用600毫秒缓慢的将段落的透明度调整到0.66,大约2/3的可见度
jQuery 代码:
用200毫秒快速将段落的透明度调整到0.25,大约1/4的可见度,之后弹出一个对话框
jQuery 代码:
alert("Animation Done.");
});
animate(params[,duration[,easing[,callback]]])
注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。
在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
jQuery 1.3中,如果duration设为0则直接完成动画。而在以前版本中则会执行默认动画。
Note that properties should be specified using camel case eg. marginLeft instead of margin-left.
The value associated with the key represents to what end the property will be animated. If a number is provided as the value, then the style property will be transitioned from its current state to that new number. Otherwise if the string "hide", "show", or "toggle" is provided, a default animation will be constructed for that property.
As of jQuery 1.2 you can now animate properties by em and % (where applicable). Additionally, in jQuery 1.2, you can now do relative animations - specifying a "+=" or "-=" in front of the property value to move the element positively, or negatively, relative to the current position.
As of jQuery 1.3 if you specify an animation duration of 0 then the animation will synchronously set the elements to their end state (this is different from old versions where there would be a brief, asynchronous, delay before the end state would be set).
返回值
jQuery
参数
params (Options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
duration (String,Number) : (可选) 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
easing (String) : (可选) 要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
callback (Function) : (可选) 在动画完成时执行的函数
示例
点击按钮后div元素的几个不同属性一同变化
HTML 代码:
<div id="block">Hello!</div>
jQuery 代码:
$("#go").click(function(){
$("#block").animate({
width: "90%",
height: "100%",
fontSize: "10em",
borderWidth: 10
}, 1000 );
});
让指定元素左右移动
HTML 代码:
<div class="block"></div>
jQuery 代码:
$(".block").animate({left: '+50px'}, "slow");
});
$("#left").click(function(){
$(".block").animate({left: '-50px'}, "slow");
});
在600毫秒内切换段落的高度和透明度
jQuery 代码:
height: 'toggle', opacity: 'toggle'
}, "slow");
用500毫秒将段落移到left为50的地方并且完全清晰显示出来(透明度为1)
jQuery 代码:
left: 50, opacity: 'show'
}, 500);
一个使用“easein”函数提供不同动画样式的例子。只有使用了插件来提供这个“easein”函数,这个参数才起作用。
jQuery 代码:
opacity: 'show'
}, "slow", "easein");
animate(params,options)
注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。
在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
Note that properties should be specified using camel case eg. marginLeft instead of margin-left.
The value associated with the key represents to what end the property will be animated. If a number is provided as the value, then the style property will be transitioned from its current state to that new number. Otherwise if the string "hide", "show", or "toggle" is provided, a default animation will be constructed for that property.返回值
jQuery
参数
params (Options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
options (Options) : 一组包含动画选项的值的集合。
选项
duration (String,Number) : (默认值: "normal") 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
easing (String) : (默认值: "swing") 要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
complete (Function) : 在动画完成时执行的函数
step (Callback) :
queue (Boolean) : (默认值: true) 设定为false将使此动画不进入动画队列 (jQuery 1.2中新增)
示例
第一个按钮按了之后展示了不在队列中的动画。在div扩展到90%的同时也在增加字体,一旦字体改变完毕后,边框的动画才开始。
第二个按钮按了之后就是一个传统的链式动画,即等前一个动画完成后,后一个动画才会开始.
HTML 代码:
<button id="go2">» Animate Block2</button>
<div id="block1">Block1</div><div id="block2">Block2</div>
jQuery 代码:
$("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } )
.animate( { fontSize: '10em' } , 1000 )
.animate( { borderWidth: 5 }, 1000);
});
$("#go2").click(function(){
$("#block2").animate( { width: "90%"}, 1000 )
.animate( { fontSize: '10em' } , 1000 )
.animate( { borderWidth: 5 }, 1000);
});
用600毫秒切换段落的高度和透明度
jQuery 代码:
height: 'toggle', opacity: 'toggle'
}, { duration: "slow" });
用500毫秒将段落移到left为50的地方并且完全清晰显示出来(透明度为1)
jQuery 代码:
left: 50, opacity: 'show'
}, { duration: 500 });
一个使用“easein”函数提供不同动画样式的例子。只有使用了插件来提供这个“easein”函数,这个参数才起作用。
jQuery 代码:
opacity: 'show'
}, { duration: "slow", easing: "easein" });
stop( [clearQueue], [gotoEnd])
返回值
jQuery
参数
clearQueue (Boolean) : 可选,如果设置成true,则清空队列。可以立即结束动画。
gotoEnd (Boolean) : 可选,让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。
示例
点击Go之后开始动画,点Stop之后会在当前位置停下来
HTML 代码:
id="stop">STOP!</button>
<div class="block"></div>
<button id="go">Go</button> <button
id="stop">STOP!</button>
<div class="block"></div>
jQuery 代码:
$("#go").click(function(){
$(".block").animate({left: '+200px'}, 5000);
});
// 当点击按钮后停止动画
$("#stop").click(function(){
$(".block").stop();
});
jQuery.fx.off
把这个属性设置为true可以立即关闭所有动画(所有效果会立即执行完毕)。有些情况下可能需要这样,比如:
* 你在配置比较低的电脑上使用jQuery。
* 你的一些用户由于动画效果而遇到了 可访问性问题
当把这个属性设成false之后,可以重新开启所有动画。
Setting this property to true will disable all animations from occurring (the effect will happen instantaneously, instead). This may be desirable for a couple reasons:
You're using jQuery on a low-resource device.
Some of your users are encountering accessibility problems with the animations.
Animations can be turned back on by setting the property to false.
返回值
Boolean
示例
执行一个禁用的动画
jQuery 代码:
$("input").click(function(){
$("div").toggle("slow");
});
jQuery.ajax(options)
$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。
$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。
注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。
注意:如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。
$.ajax() returns the XMLHttpRequest that it creates. In most cases you won't need that object to manipulate directly, but it is available if you need to abort the request manually.
Note: If you specify the dataType option described below, make sure the server sends the correct MIME type in the response (eg. xml as "text/xml"). Sending the wrong MIME type can lead to unexpected problems in your script. See Specifying the Data Type for AJAX Requests for more information.
$.ajax() takes one argument, an object of key/value pairs, that are used to initialize and handle the request. See below for a full list of the key/values that can be used.
As of jQuery 1.2, you can load JSON data located on another domain if you specify a JSONP callback, which can be done like so: "myurl?callback=?". jQuery automatically replaces the ? with the correct method name to call, calling your specified callback. Or, if you set the dataType to "jsonp" a callback will be automatically added to your Ajax request.返回值
XMLHttpRequest
参数
options (可选) : AJAX 请求设置。所有选项都是可选的。
选项
async (Boolean) : (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend (Function) : 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。这是一个 Ajax 事件。如果返回false可以取消本次ajax请求。
this; // 调用本次AJAX请求时传递的options参数
}
cache (Boolean) : (默认: true,dataType为script时默认为false) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
complete (Function) : 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象和一个描述成功请求类型的字符串。 Ajax 事件。
this; // 调用本次AJAX请求时传递的options参数
}
contentType (String) : (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
data (Object,String) : 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
dataFilter (Function) :给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数:data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
// 对Ajax返回的原始数据进行预处理
return data // 返回处理后的数据
}
dataType (String) : (默认值:智能判断xml或者html)预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串
error (Function) : (默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。Ajax 事件。
// 通常 textStatus 和 errorThrown 之中
// 只有一个会包含信息
this; // 调用本次AJAX请求时传递的options参数
}
global (Boolean) : (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。
ifModified (Boolean) : (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
jsonp (String) : 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。
password (String) : 用于响应HTTP访问认证请求的密码
processData (Boolean) : (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
scriptCharset (String) : 只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。通常在本地和远程的内容编码不同时使用。
success (Function) : 请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。 Ajax 事件。
// data 可能是 xmlDoc, jsonObj, html, text, 等等...
this; // 调用本次AJAX请求时传递的options参数
}
timeout (Number) : 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
type (String) : (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
url (String) : (默认: 当前页地址) 发送请求的地址。
username (String) : 用于响应HTTP访问认证请求的用户名
xhr (Function) : 需要返回一个XMLHttpRequest 对象。默认在IE下是ActiveXObject 而其他情况下是XMLHttpRequest 。用于重写或者提供一个增强的XMLHttpRequest 对象。这个参数在jQuery 1.3以前不可用。
示例
加载并执行一个 JS 文件。
jQuery 代码:
type: "GET",
url: "test.js",
dataType: "script"
});
保存数据到服务器,成功时显示信息。
jQuery 代码:
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
装入一个 HTML 网页最新版本。
jQuery 代码:
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
同步加载数据。发送请求时锁住浏览器。需要锁定用户交互操作时使用同步方式。
jQuery 代码:
url: "some.php",
async: false
}).responseText;
发送 XML 数据至服务器。设置 processData 选项为 false,防止自动转换数据格式。
jQuery 代码:
$.ajax({
url: "page.php",
processData: false,
data: xmlDocument,
success: handleResponse
});
load(url,[data],[callback])
返回值
jQuery
参数
url (String) : 待装入 HTML 网页网址。
data (Map,String) : (可选) 发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。
callback (Callback) : (可选) 载入成功时回调函数。
示例
加载文章侧边栏导航部分至一个无序列表。
HTML 代码:
<ul id="links"></ul>
jQuery 代码:
加载 feeds.html 文件内容。
jQuery 代码:
同上,但是以 POST 形式发送附加参数并在成功时显示信息。
jQuery 代码:
alert("The last 25 entries in the feed have been loaded");
});
jQuery.get(url,[data],[callback],[type])
返回值
XMLHttpRequest
参数
url (String) : 待载入页面的URL地址
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 载入成功时回调函数。
type (String) : (可选) 返回内容格式,xml, html, script, json, text, _default。
示例
请求 test.php 网页,忽略返回值。
jQuery 代码:
请求 test.php 网页,传送2个参数,忽略返回值。
jQuery 代码:
显示 test.php 返回值(HTML 或 XML,取决于返回值)。
jQuery 代码:
alert("Data Loaded: " + data);
});
显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数。
jQuery 代码:
function(data){
alert("Data Loaded: " + data);
});
jQuery.getJSON(url,[data],[callback])
注意:此行以后的代码将在这个回调函数执行前执行。
Note: Keep in mind, that lines after this function will be executed before callback.
返回值
XMLHttpRequest
参数
url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 载入成功时回调函数。
示例
从 Flickr JSONP API 载入 4 张最新的关于猫的图片。
HTML 代码:
jQuery 代码:
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src",
item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
alert("JSON Data: " + json.users[3].name);
});
从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
alert("JSON Data: " + json.users[3].name);
});
jQuery.getScript(url,[callback])
返回值
XMLHttpRequest
参数
url (String) : 待载入 JS 文件地址。
callback (Function) : (可选) 成功载入后回调函数。
示例
载入 jQuery 官方颜色动画插件 成功后绑定颜色变化动画。
HTML 代码:
<div class="block"></div>
jQuery 代码:
function(){
$("#go").click(function(){
$(".block").animate( { backgroundColor: 'pink' }, 1000)
.animate( { backgroundColor: 'blue' }, 1000);
});
});
加载并执行 test.js。
jQuery 代码:
加载并执行 test.js ,成功后显示信息。
jQuery 代码:
alert("Script loaded and executed.");
});
jQuery.post(url,[data],[callback],[type])
返回值
XMLHttpRequest
参数
url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 发送成功时回调函数。
type (String) : (可选) 返回内容格式,xml, html, script, json, text, _default。
ajaxComplete(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
示例
AJAX 请求完成时执行函数。
jQuery 代码:
$(this).append("<li>请求完成.</li>");
});
ajaxError(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
// thrownError 只有当异常发生时才会被传递
this; // 监听的 dom 元素
}
示例
AJAX 请求失败时显示信息。
jQuery 代码:
$(this).append("<li>出错页面:" + settings.url + "</li>");
});
ajaxSend(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
示例
AJAX 请求发送前显示信息。
jQuery 代码:
$(this).append("<li>开始请求: " + settings.url +
"</li>");
});
ajaxStart(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
示例
AJAX 请求开始时显示信息。
jQuery 代码:
$(this).show();
});
ajaxStop(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
示例
AJAX 请求结束后隐藏信息。
jQuery 代码:
$(this).hide();
});
ajaxSuccess(callback)
返回值
jQuery
参数
callback (Function) : 待执行函数
示例
当 AJAX 请求成功后显示消息。
jQuery 代码:
$(this).append("<li>请求成功!</li>");
});
jQuery.ajaxSetup(options)
返回值
jQuery
参数
options (可选) : 选项设置。所有设置项均为可选设置。.
示例
设置 AJAX 请求默认地址为 "/xmlhttp/",禁止触发全局 AJAX 事件,用 POST 代替默认 GET 方法。其后的 AJAX 请求不再设置任何选项参数。
jQuery 代码:
url: "/xmlhttp/",
global: false,
type: "POST"
});
$.ajax({ data: myData });
serialize()
返回值
jQuery
示例
序列表表格内容为字符串,用于 Ajax 请求。
HTML 代码:
<form>
<select name="single">
<option>Single</option>
<option>Single2</option>
</select>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" name="check" value="check1"/> check1
<input type="checkbox" name="check" value="check2"
checked="checked"/> check2
<input type="radio" name="radio" value="radio1"
checked="checked"/> radio1
<input type="radio" name="radio" value="radio2"/> radio2
</form>
jQuery 代码:
serializeArray()
返回值
jQuery
示例
取得表单内容并插入到网页中。
HTML 代码:
<form>
<select name="single">
<option>Single</option>
<option>Single2</option>
</select>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" name="check" value="check1"/> check1
<input type="checkbox" name="check" value="check2"
checked="checked"/> check2
<input type="radio" name="radio" value="radio1"
checked="checked"/> radio1
<input type="radio" name="radio" value="radio2"/> radio2
</form>
jQuery 代码:
jQuery.each( fields, function(i, field){
$("#results").append(field.value + " ");
});
jQuery.browser
jQuery提供了一系列属性,你也可以自由增加你自己的属性。其中许多属性是很低级的,所以很难说他们能否在日新月异的发展中一直保持有效,但这这些主要用于插件和内核开发者。
所有这些支持的属性值都通过特性检测来实现,而不是用任何浏览器检测。以下有一些非常棒的资源用于解释这些特性检测是如何工作的:
- http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
- http://yura.thinkweb2.com/cft/
- http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
jQuery.support主要包括以下测试:
boxModel: 如果这个页面和浏览器是以W3C CSS盒式模型来渲染的,则等于true。通常在IE 6和IE 7的怪癖模式中这个值是false。在document准备就绪前,这个值是null。
cssFloat: 如果用cssFloat来访问CSS的float的值,则返回true。目前在IE中会返回false,他用styleFloat代替。
hrefNormalized: 如果浏览器从getAttribute("href")返回的是原封不动的结果,则返回true。在IE中会返回false,因为他的URLs已经常规化了。
htmlSerialize: 如果浏览器通过innerHTML插入链接元素的时候会序列化这些链接,则返回true,目前IE中返回false。
leadingWhitespace: 如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。
noCloneEvent: 如果浏览器在克隆元素的时候不会连同事件处理函数一起复制,则返回true,目前在IE中返回false。
objectAll: 如果在某个元素对象上执行getElementsByTagName("*")会返回所有子孙元素,则为true,目前在IE 7中为false。
opacity: 如果浏览器能适当解释透明度样式属性,则返回true,目前在IE中返回false,因为他用alpha滤镜代替。
scriptEval: 使用 appendChild/createTextNode 方法插入脚本代码时,浏览器是否执行脚步,目前在IE中返回false,IE使用 .text 方法插入脚本代码以执行。
style: 如果getAttribute("style")返回元素的行内样式,则为true。目前IE中为false,因为他用cssText代替。
tbody: 如果浏览器允许table元素不包含tbody元素,则返回true。目前在IE中会返回false,他会自动插入缺失的tbody。
The values of all the support properties are determined using feature detection (and do not use any form of browser sniffing). There are some excellent resources that explain how feature detection works:
http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
http://yura.thinkweb2.com/cft/
http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
The tests included in jQuery.support are as follows:
boxModel: Is equal to true if the page and browser are rendering according to the W3C CSS Box Model (is currently false in IE 6 and 7 when they are in Quirks Mode). This property is null until document ready occurs.
cssFloat: Is equal to true if style.cssFloat is used to access the current CSS float value (is currently false in IE, it uses styleFloat instead).
hrefNormalized: Is equal to true if the browser leaves intact the results from getAttribute("href")(is currently false in IE, the URLs are normalized).
htmlSerialize: Is equal to true if the browser properly serializes link elements when innerHTML is used (is currently false in IE).
leadingWhitespace: Is equal to true if the browser preserves leading whitespace when innerHTML is used (is currently false in IE 6-8).
noCloneEvent: Is equal to true if the browser does not clone event handlers when elements are cloned (is currently false in IE).
objectAll: Is equal to true if doing getElementsByTagName("*") on an object element returns all descendant elements (is currently false in IE 7).
opacity: Is equal to true if a browser can properly interpret the opacity style property (is currently false in IE, it uses alpha filters instead).
scriptEval: Is equal to true if using appendChild/createTextNode to inject inline scripts executes them (is currently false in IE, it uses .text to insert executable scripts).
style: Is equal to true if getAttribute("style") is able to return the inline style specified by an element (is currently false in IE - it uses cssText instead).
tbody: Is equal to true if the browser allows table elements without tbody elements (is currently false in IE, which automatically inserts tbody if it is not present).
返回值
Boolean
示例
检测浏览器是否支持盒式模型
jQuery 代码:
jQuery.browser(建议弃用)
safari
opera
msie
mozilla
此属性在 DOM 树加载完成前即有效,可用于为特定浏览器设置 ready 事件。
浏览器对象检测技术与此属性共同使用可提供可靠的浏览器检测支持。
safari
opera
msie
mozilla
This property is available before the DOM is ready, therefore you can use it to add ready events only for certain browsers.
There are situations where object detection is not reliable enough, in such cases it makes sense to use browser detection.
A combination of browser and object detection yields quite reliable results.
返回值
Map
示例
在 Microsoft's Internet Explorer 浏览器中返回 true。
jQuery 代码:
仅在 Safari 中提示 "this is safari!" 。
jQuery 代码:
alert("this is safari!");
}
jQuery.browser.version(建议弃用)
Internet Explorer: 6.0, 7.0
Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3
Opera: 9.20
Safari/Webkit: 312.8, 418.9
Internet Explorer: 6.0, 7.0
Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3
Opera: 9.20
Safari/Webkit: 312.8, 418.9
返回值
String
示例
显示当前 IE 浏览器版本号。
jQuery 代码:
alert( $.browser.version );
jQuery.boxModel(建议弃用)
返回值
Boolean
示例
在 Internet Explorer 怪癖模式(QuirksMode)中返回 False。
jQuery 代码:
jQuery.each(obj,callback)
回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。
如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。The callback has two arguments:the key (objects) or index (arrays) as the first, and the value as the second.
If you wish to break the each() loop at a particular iteration you can do so by making your function return false. Other return values are ignored.返回值
Object
参数
object (Object) : 需要例遍的对象或数组。
callback (Function) : (可选) 每个成员/元素执行的回调函数。
示例
例遍数组,同时使用元素索引和内容。
jQuery 代码:
alert( "Item #" + i + ": " + n );
});
例遍对象,同时使用成员名称和变量内容。
jQuery 代码:
alert( "Name: " + i + ", Value: " + n );
});
jQuery.extend(target,obj1,[objN])
返回值
Object
参数
target (Object) : 待修改对象。
object1 (Object) : 待合并到第一个对象的对象。
objectN (Object) : (可选) 待合并到第一个对象的对象。
示例
合并 settings 和 options,修改并返回 settings。
jQuery 代码:
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
结果:
合并 defaults 和 options, 不修改 defaults。
jQuery 代码:
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = jQuery.extend(empty, defaults, options);
结果:
empty == { validate: true, limit: 5, name: "bar" }
jQuery.grep(array,callback,[invert])
返回值
Array
参数
array (Array) : 待过滤数组。
callback (Function) : 此函数将处理数组每个元素。第一个参数为当前元素,第二个参数而元素索引值。此函数应返回一个布尔值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”。
invert (Boolean) : (可选) 如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。
示例
过滤数组中小于 0 的元素。
jQuery 代码:
return n > 0;
});
结果:
排除数组中大于 0 的元素,使用第三个参数进行排除。
jQuery 代码:
return n > 0;
}, true);
结果:
jQuery.makeArray(obj)
返回值
Array
参数
obj (Object) : 类数组对象。
示例
过滤数组中小于 0 的元素。
HTML 代码:
jQuery 代码:
arr.reverse(); // 使用数组翻转函数
结果:
Third
Second
First
jQuery.map(array,callback)
返回值
Array
参数
array (Array) : 待转换数组。
callback (Function) : 为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。函数可返回任何值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素。如“a * a”代表“function(a){ return a * a; }”。
示例
将原数组中每个元素加 4 转换为一个新数组。
jQuery 代码:
return n + 4;
});
结果:
原数组中大于 0 的元素加 1 ,否则删除。
jQuery 代码:
return n > 0 ? n + 1 : null;
});
结果:
原数组中每个元素扩展为一个包含其本身和其值加 1 的数组,并转换为一个新数组。
jQuery 代码:
return [ n, n + 1 ];
});
结果:
jQuery.inArray(value,array)
返回值
jQuery
参数
value (Any) : 用于在数组中查找是否存在
array (Array) : 待处理数组。
示例
删除重复 div 标签。
jQuery 代码:
jQuery.inArray("John", arr); //3
jQuery.inArray(4, arr); //0
jQuery.inArray("David", arr); //-1
jQuery.unique(array)
返回值
Array
参数
first (Array) : 第一个待处理数组,会改变其中的元素。
second (Array) : 第二个待处理数组,不会改变其中的元素。
示例
合并两个数组到第一个数组上。
jQuery 代码:
结果:
jQuery.unique(array)
返回值
Array
参数
array (Array) : 待处理数组。
示例
删除重复 div 标签。
jQuery 代码:
结果:
jQuery.isArray(obj)
返回值
Boolean
参数
obj (Object) : 用于测试是否为数组的对象
示例
检测是否为数组
jQuery 代码:
结果:
jQuery.isFunction(obj)
返回值
Boolean
参数
obj (Object) : 用于测试是否为函数的对象
示例
检测是否为函数
jQuery 代码:
function stub() { } var objs = [ function () {}, { x:15, y:20 }, null, stub, "function" ]; jQuery.each(objs, function (i) { var isFunc = jQuery.isFunction(objs[i]); $("span:eq( " + i + ")").text(isFunc); });
结果:
jQuery.trim(str)
返回值
String
参数
str (String) : 需要处理的字符串
示例
去掉字符串起始和结尾的空格。
jQuery 代码:
结果:
jQuery.param(obj)
返回值
String
参数
obj (Array<Elements>, jQuery, Object) : 数组或jQuery对象会按照name/value对进行序列化,普通对象按照key/value对进行序列化。
示例
按照key/value对序列化普通对象。
jQuery 代码:
var str = jQuery.param(params);
$("#results").text(str);
结果: