常用工具函数
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
构造器的简便封装,你可以传入一个已有的对象(从本质上来说,JavaScript 的对象本身就是一个
hash),返回封装了该对象的 Hash
。该函数是安全的,不会影响原有对象
(因为该函数内部复制了传入的对象)。
$R
$R(start, end[, exclusive = false]) -> ObjectRange
创建一个新的 ObjectRange
对象。ObjectRange
构造器的简便封装, 但是 $R
是推荐使用的名称。
$w
$w(String) -> 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 类搜寻范围,将搜寻范围限制在该元素内。