extend
extend(element)
扩展 element
,使其具有 Element.Methods 和
Element.Methods.Simulated 包含的所有方法。如果 element
具有 input
、textarea
或者 select
标签,扩展后也同时拥有
Form.Element.Methods 的方法,如果具有 form
标签,则拥有
Form.Methods 的方法。
这是一个充满魔力的方法!
通过 Prototype 定义的方法扩展一个元素,我们能够为语法添加一层糖衣,用我们所期望的方式编写代码。例如,在一个已扩展的元素上可以这么做:
element.update('hello world');
并且,因为大多数 Element
的方法都返回方法本身所应用到的元素,所以可以像链条一样一环扣一环的对方法进行调用:
element.update('hello world').addClassName('greeting');
注意,所有 Element
的方法返回的元素都已经被扩展(甚至包括类似 Element.siblings
这种返回元素数组的方法)。显然,Prototype 的王牌工具函数 $() 和
$$() 也会对返回元素进行扩展。
如果你想更深入的了解 Prototype 是如何扩展 DOM 的,请参阅 这篇文章.