slice(start, [end]) 返回值:jQuery
概述
选取一个匹配的子集
与原来的slice方法类似
参数
startInteger
开始选取子集的位置。第一个元素是0.如果是负数,则可以从集合的尾部开始选起。
end (可选)Integer
结束选取自己的位置,如果不指定,则就是本身的结尾。
示例
描述:
选择第一个p元素
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(0, 1).wrapInner("<b></b>");
结果:
[ <p><b>Hello</b></p> ]
描述:
选择前两个p元素
HTML...
prev ~ siblings 返回值:Array<Element(s)>
概述
匹配 prev 元素之后的所有 siblings 元素
参数
prevSelector
任何有效选择器
siblingsSelector
一个选择器,并且它作为第一个选择器的同辈
示例
描述:
找到所有与表单同辈的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:...
jQuery.noConflict(extreme) 返回值:jQuery
概述
将$和jQuery的控制权都交还给原来的库。用之前请考虑清楚!
这是相对于简单的 noConflict 方法更极端的版本,因为这将完全重新定义jQuery。这通常用于一种极端的情况,比如你想要将jQuery嵌入一个高度冲突的环境。注意:调用此方法后极有可能导致插件失效。
参数
extremeBoolean
传入 true 来允许彻底将jQuery变量还原
示例
描述:
完全将 jQuery 移到一个新的命名空间。
jQuery 代码:
var dom = {};
dom.query = jQuery.noConflict(true);
结果:
// 新 jQuery 的代码
dom.query("div p").hide();
// 另一个库...
jQuery.noConflict() 返回值:jQuery
概述
运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
这有助于确保jQuery不会与其他库的$对象发生冲突。
在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。
注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。
示例
描述:
将$引用的对象映射回原始的对象。
jQuery 代码:
jQuery.noConflict();
// 使用 jQuery
jQuery("d...
capitalize
capitalize() -> string
将一个字符串的首字母转换为大写,其它的字母全部转为小写。
样例
'hello'.capitalize();
// -> 'Hello'
'HELLO WORLD!'.capitalize();
// -> 'Hello world!'
camelize
camelize() -> string
将一个用横线分隔的字符串转换为 Camel 形式。如 'foo-bar' 将被转换为 'fooBar'。
Prototype 在内部使用这个方法将 CSS 属性转换为它们等价的 DOM 的 style 属性。
样例
'background-color'.camelize();
// -> 'backgroundColor'
'-moz-binding'.camelize();
// -> 'MozBinding'
bindAsEventListener
bindAsEventListener(thisObj[, arg...]) -> Function
一个专用于事件的 bind 方法的变体, 它确保事件触发后会将当前事件对象作为第一个参数传递给事件处理函数。
如果你不清楚“绑定”是什么,请查阅 Function 概述。如果你不是非常明白 bind() 能够做什么,请查阅它的文档。
假如创建一个用于事件处理的函数,你需要以某种方式获取当前的事件对象,同时还要控制函数运行时所在的 上下文,该怎么办?bindAsEventListener 都为你考虑到了,它将事件处理函数绑定到指定的上下文 (thisObj),并且确保当事件发生时,事件对象会传递到事件处理函数。
对于仅实现了 DOM Level 0 事件...
serialize
serialize(element) -> string
使用 name=value 的格式创建表单控件的 URL 编码字符串。
该方法返回一个适合于 Ajax 请求的字符串。但是,它仅仅只串行化一个单独的元素——如果需要串行化整个表单,请使用 Form.serialize()。
注意
串行化一个已禁用或是没有名称的控件,总是返回空字符串。
如果只是简单的获取元素的值,而不需要进行 Ajax 请求,请使用 getValue()。
serializeElements
serializeElements(elements[, getHash = false]) -> string | object
串行化表单控件数组为字符串,以适用于 Ajax 请求(默认行为)。若指定可选的参数 getHash 值为 true,则返回一个 Hash 对象,以控件的名称(name 属性)为“键”,控件所代表的数据为“值”。
串行化表单应优先使用 Form.serialize 方法。关于参数 getHash 的更进一步的信息和样例请参阅 Form.serialize 的文档。然而,通过 serializeElement 可以串行化指定的元素, 允许指定表单中所有元素的一个子集来进行串行化。
样例
串行化所有类型为 "text" 的 INPUT 元素:
Form.serializeElemen...
serialize
serialize(formElement[, getHash = false]) -> String | object
串行化表单数据为字符串,以适用于 Ajax 请求(默认行为)。若指定可选的参数 getHash 值为
true,则返回一个 Hash 对象,以表单控件的名称(name 属性)为“键”,控件所代表的数据为“值”。
根据可选参数 getHash 的值是否等价于 true,返回的结果为一个形如 {name: "johnny",
color: "blue"} 的对象或是一个形如 "name=johnny&color=blue" 的字符串。返回值常用于作为
Ajax 请求的参数。该方法模拟浏览器原生的串行化表单方式,以便在不刷新页面的情况下发送表单数据到服务器。
...
isLeftClick
Event.isLeftClick(event) -> Boolean
判断鼠标相关的事件是否是由“左键”(主功能键)引发的。
注意:这里的“左键”并不是绝对意义上的左键,而是“作为默认的左键”(对于习惯于右手的人而言)。 而习惯使用左手的人,在系统配置中,可以将右键设为主要功能键,这时,该方法检测相应的右键。
eachSlice
eachSlice(size[, iterator = Prototype.K[, context]]) -> [slice...]
根据指定的大小对 Enumerable 中的元素进行分组,最后一组元素的个数可能小于指定的个数。
有时需要将一个集合划分为多个尺寸大致相同的分组。例如可能需要将集合中的数据显示为多列,或一些其它样式的布局。 也可能需要依次传入多组数据到后端进行处理(因为一些后端软件会对每次传入的数据个数进行硬编码限制),那么你应该会喜欢上 eachSlice,如果每个分组的尺寸必须完全相同,请使用 inGroupsOf。
可选的 context 参数是 iterator 要绑定的对象,若设定该参数,iterator 中的 this 关键字将指向 context 对象。
样例
var students = ...
undoClipping
undoClipping(element) -> HTMLElement
设置 element 的 CSS overflow 属性,重置其值为应用 Element.makeClipping() 之前的值,返回元素本身。
样例
<div id="framer">
<img src="/assets/2007/1/14/chairs.jpg" alt="example" />
</div>
$('framer').undoClipping();
// -> HTMLElement(并恢复 CSS overflow 属性为初始值)
点我测试一下
var Example = {};
Example.clip = function(){
$('clipper').update('撤销!');
$('framer').makeClipping().setStyle({width: '100px', height: '100px...
siblings
siblings(element) -> [HTMLElement...]
获取 element 的所有兄弟节点,并返回一个数组,数组元素已经过 扩展。
如果两个元素有相同的父节点,则认为它们是兄弟节点,因此在样例中,head 和 body 是兄弟节点(它们的父节点都是 html)。
返回的数组成员按照元素在页面中的顺序进行排列(例如:索引 0 表示 element 的第一个兄弟节点)。
注意:所有 Prototype 的 DOM 扩展方法均忽略文本节点,仅返回元素节点。
Examples
<ul>
<li id="golden-delicious">Golden Delicious</li>
<li id="mutsu">Mutsu</li>
<li id="mcintosh">...
previousSiblings
previousSiblings(element) -> [HTMLElement...]
返回 element 的所有前导兄弟节点,结果为一个数组,数组元素已经过 扩展。
如果两个元素有相同的父节点,则认为它们是兄弟节点,因此在样例中,head 和 body 是兄弟节点(它们的父节点都是 html)。前导兄弟节点可简单的看作文档中排在 elemnet 之前的兄弟节点。
返回的数组成员按照元素在页面中的顺序 反序 进行排列(例如:索引 0 表示距 element 最近的前导兄弟节点)。
注意:所有 Prototype 的 DOM 扩展方法均忽略文本节点,仅返回元素节点。
样例
<ul>
<li id="golden-delicious">Golden Delicious</li>
&...
nextSiblings
nextSiblings(element) -> [HTMLElement...]
返回 element 的所有后继兄弟节点,结果为一个数组,数组元素已经过 扩展。
如果两个元素有相同的父节点,则认为它们是兄弟节点,因此在样例中,head 和 body 是兄弟节点(它们的父节点都是 html)。后继兄弟节点可简单的看作文档中跟在 elemnet 后的兄弟节点。
返回的数组成员按照元素在页面中的顺序进行排列(例如:索引 0 表示 element 正下方的第一个兄弟节点)。
注意:所有 Prototype 的 DOM 扩展方法均忽略文本节点,仅返回元素节点。
样例
<ul>
<li id="golden-delicious">Golden Delicious</li>
<li id="...