常用工具函数
Prototype 提供了许多“便利”的函数。除 $
函数外,大都是一些 Prototype 函数的简称。$
函数封装了 DOM 节点并提供了一些额外的功能。
这些工具函数在所有 Javascript 脚本中都是被经常使用的,因此它们的命名需要非常简捷,在 Prototype中,它们基于 $
的命名约束。
毫无疑问,$()
是最常见的工具函数,事实上,在 Prototype 代码中,$
函数无处不在,它可以传入一个或多个元素的 ID 或实际的 DOM 元素作为参数。它还提供了许多有用的功能,而不仅只是对 document.getElementById
进行简单封装。具体的使用方法请参见文档。
这些工具函数是基于 Prototype 进行 Javascript 高效编码的基石之一,值得我们花费一些时间来学好它。
函数列表
$
$(id | element) -> HTMLElement Or $((id | element)...) -> [HTMLElement...]
如果提供一个字符串参数,则返回 ID 为指定字符串的元素。如果传入参数为 DOM 元素,则返回该 DOM 元素。可传入多个参数,参数的数目没有限制。该函数返回的所有元素都已经被 Prototype 进行了相应的 DOM 方法扩展。
$$
$$(cssRule...) -> [HTMLElement...]
接受一个或多个字符串参数,字符串参数必须符合 CSS 选择规则(CSS Selectors)。 返回符合这些 CSS 选择规则的 DOM 元素数组。数组元素按照 document 中节点的顺序进行排序, 并且这些元素都进行了相应的 DOM 方法扩展。
$A
$A(iterable) -> actualArray
接受一个类似于数组的集合(具有数字索引),返回与之等同的一个真正的
Array
对象。该函数是 Array.from
的简称。 但是在进行 Array
转换时,我们推荐使用 $A
。
$F
$F(element) -> value
返回一个表单控件的值,是 Form.Element.getValue
方法的简称,具体细节请参见 Form.Element.getValue
。
$H
$H([obj]) -> Hash
创建一个 Hash
列表(映射或关联数组)。 Hash
构造器的简便封装,你可以传入一个现有的 Hash
对象(注: 应该是指原生的 Javascript 对象或 DOM 对象),返回该对象的复本。该函数是安全的,不会影响原有对象。
$R
$R(start, end[, exclusive = false]) -> ObjectRange
创建一个新的 ObjectRange
对象。ObjectRange
构造器的简便封装, 但是 $R
是推荐使用的名称。
$w
$w(String) -> Array
以空格作为分隔符,将字符串拆分为一个 Array
。 等同于 Ruby 的 %w{foo bar}
或 Perl 的 qw(foo bar)
.
Try.these
Try.these(Function...) -> firstOKResult
接收任意数目的函数作为参数,按照函数在参数中的顺序依次执行,若其中一个函数执行成功, 则返回该函数的执行结果,并中止后续函数的执行。若无成功执行的函数,则抛出异常。
document.getElementsByClassName
不推薦
document.getElementsByClassName(className[, element]) -> [HTMLElement...]
根据 className
指定的 CSS 类名返回(并扩展)匹配的 DOM 元素。 可选的参数 element
用于指定 CSS 类搜寻范围,将搜寻范围限制在该元素内。