Prototype的自定义对象和类
1、使用Element对象
addClassName(element, className):用于为某个Html元素增加CSS样式
element可以是元素的ID,也可以是元素本身
className是CSS样式名称
classNames(element):用于返回某个HTML的所有CSS样式
参数element即可以是元素id的属性,也可以是元素本身
cleanWhitespace(element):用于返回某个元素只有文本值且文本值是空白,则该元素被删除
element即可以是元素id属性,也可以是元素本身
empty(element):判断某个元素是否为空或者只包含空字符串,如果是返回true,否则返回false
element即可以是元素id属性,也可以是元素本身
getDimensions(element):用于返回某个元素的大小,返回两个属性——height和width
element即可以是元素id属性,也可以是元素本身
getHeight(element):用于返回某个元素的高
element即可以是元素id属性,也可以是元素本身
getStyle(element, cssProperty):用于返回某个HTML元素的内联CSS样式的属性值,如果没有指定内联CSS样式,则返回null
element即可以是元素id属性,也可以是元素本身
hasClassName(element, cssProperty) :用于判断某个HTML元素是否包含指定的CSS样式。如果包含指定的CSS样式则返回true,否则返回false
element即可以是元素id属性,也可以是元素本身
hide(elem1[,elem2[,elem3[……]]]):同时隐藏多个HTML元素,通过设置style.display='none'来隐藏,因此会释放元素所在页面上所占用的空间。
elem 即可以是元素id属性,也可以是元素本身
makeClipping(element):通过设定overflow的值设置内容溢出。
element即可以是元素id属性,也可以是元素本身
makePositioned(element):将某个元素的内联CSS属性style.position设置为relative
element即可以是元素id属性,也可以是元素本身
revmove(element):从Document元素中删除指定的HTML元素。
element即可以是元素id属性,也可以是元素本身
removeClassName(element, className):为指定的HTML元素删除特定的CSS样式
element即可以是元素id属性,也可以是元素本身
scollTo(element):将window滚动到对象所在的位置
element即可以是元素id属性,也可以是元素本身
setStyle(element, cssPropertyHash):为HTML元素设置内联CSS样式
element即可以是元素id属性,也可以是元素本身
show(elem1[,elem2[,elem3[……]]]):将多个HTML传入的多个HTML元素整体显示出来,通过设置style.display为“”完成
elem 即可以是元素id属性,也可以是元素本身
toggle(elem1[,elem2[,elem3[……]]]):控制多个HTML元素整体显示、隐藏即在显示和陷藏之间切换
elem 即可以是元素id属性,也可以是元素本身
undoClipping(element)恢复元素的style.overflow值
element即可以是元素id属性,也可以是元素本身
undoPositioned(element):将HTML对象的style.position""设置为""
element即可以是元素id属性,也可以是元素本身
update(element,html):设置给定HTML元素的innerHTML元素。如果html参数中包含<script>,那么它们不会被包含进去,但是会执行
visible(element):判断某个html元素是否可见,如果该对象可见,则返回true,否则返回false
2、使用Enumerable类
each(iterator):遍历List对象中的每个元素,iterator是一个形如function(value,index)的函数,该函数里的value就是Enumerable对象中的元素,而index是集合中元素的索引
all([iterator]):用于测试集合中所有元素是否满足某个条件。该函数会用给出的Iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,只要集合中有任一元素的值为true则该函数返回true.iterator是一个形如function(value,index)的函数,该函数里的value就是Enumerable对象中的元素,而index是集合中元素的索引
any(iterator):用于测试集合中是否包含任一元素满足某个条件。
collect(iterator):使用iterator函数依次处理集合中的每个元素,并将处理结果收集成一个数组对象,最后返回转换得到的数组。
detect(iterator):用于获取集合中第一个满足条件的元素。
entries():直接将该集合转换成数组对象
find(iterator):与detect的效果相同。
findAll(iterator):获取集合中所有满足某个条件的元素,使用iterator函数依次处理集合中的每个元素,如果该元素在iterator中执行后返回true则该元素被收集到结果数组中
grep(pattern[,iterator]):返回集合中所有匹配pattern正则表达式的元素。如果给出了iterator,那么每个结果还要经过iterator处理,最后返回iterator处理后结果的数组
include(obj):判断集合是否包含指定对象,包含则返回true,否则返回false
inject(initialValue,iterator):这是一个递归用的函数,iterator连接所有集合中的元素。iterator在被调用时把上一次迭代的结果作为第一个参数传递给accumulator。第一次迭代时,accurmelator等于initialValue,最后返回accumulator的值
invoke(methodName[,arg1[,arg2[……]]]):使用集合中的所有元素依次调用methodName方法,调用这些方法时,传入arg1,arg2,arg3等参数,最后返回所有元素调用methodName方法返回值组成的数组
map(iterator):与collect()相同
max([iterator]):如果该函数使用了iterator,则使用iterator函数依次处理集合中的每个元素,最后返回处理的最大值;如果没有iterator,则直接返回集合中的最大值。
member(obj):与include()相同
min([iterator]):与max相反
partition([iterator]):该函调用iterator函数依次处理集合中的每个元素,将所有处理结果为true的元素组成第一个数组返回,其于作为第二个数组返回,如果没有iterator函数,则直接判断集合元素,将所有为true的集合元素收集到第一个数组返回,将所有为false的集合元素收集到第二个数组里返回
pluck(propertyName):返回集合中所有元素的指定属性值所组成的数组
reject(iterator): 与findAll()恰好相返,获取集合中所有不满足条件的元素
select(iterator):与findAll()函数相同
sortBy(iterator):该函数使用iterator依次调用每个元素,最后根据返回值对集合元素排序,最后返回排序后的数组。
toArray():返回由集合元素所组成的数组
zip(collection1[,collection2[……]]) :将collectionN集合中的元素抽取出来,将抽取出来的元素及其index相同的原集合元素一起组成一个二维数组返回
3、使用Field对象操作表单域
clear(field1[,field2[……]]):清除传入该方法的所有表单域的值。这些表单域既可以是表单域的id属性,也可以是表单域本身
present(field1[,field2[……]]):判断所有表单域是否都有值。这些表单域即可以是表单域的ID属性,也可以是本身
focus(field):将焦点移动到指定的表单域
select(field):对于像文本框、文本域一样的表单元素,该方法将选中表单域内的文本,对于不是这类的元素,该方法没有任何效果
activate(field):同样用于选中文本,但比select多一个功能:如果目标元素是不可选中的元素,则移动焦点到目标元素,此时作用与focus相同
4、使用Form对象操作表单
serialiae(form):返回指定表单内的所有表单域的名和值组成的字符串,即返回"fieldq1=value1&field2=value2"形式的字符串
findFirstElement(form):返回表单中第一个有效的表单
getElements(form):返回表单中的所有表单域
getInputs(form[, typeName [,name]]):返回表单中的所有Input元素,并可以通过typeName和name属性结该元素进行过滤。值得注意的是,该方法返回不是一个数组,而是一个集合对象
disable(form):使指写表单中的所有表单域失效
enable(form):使指定表单中所有表单域生效
focusFirstElement(form):将焦点移动到指定表单中第一个可视的、有效的表单域。
reset(form):重设表单,与调用表单对象的reset()效果一样
5、使用Form.Element对象
serialize(element):返回指定表单域的查询字符串,即返回"名=值"的形式。
getValue(element):返回指定表单域的值
6、使用Hash对象
keys():返回Hash对象的合部key组成的数组
values():返回Hash对象的全部value组成的数组
merge(otherHash):将新的Hash对象合并到原有的Hash对象,返回合并后的新Hash对象
toQueryString():将Hash对象转换为查询字符串,这种查询字符串以key1=value1&key2=value2的形式出现
inspect():以一种合适的方法显示Hash对象
7、使用Class()对象
create():该方法用于创建一个新类
8、使用HTML元素的类
Insertion.After(element, content):在指定元素后面插入content的HTML内容
Insertion.Before(element, content):在指定元素前面插入content的HTML内容
Insertion.Bottem(element, content):在给定元素的最后一个子元素之后插入content的HTML内容
insertion.Top(element, content):在给定元素的第一个元素之前插入content的HTML内容
9、常用的监听器
Form.Observer(form, interval, callback):如果表单form内表单域发生改变,将于interval(单位为秒)后自动触发callback函数
Form.EventObserver(form, interval, callback):如果表单form内的表单域被激发事件,将于interval(单位为秒)后自动触发callBack函数
Form.Element.Observer(element,interval,callback):如果表单元素element的值发生改变,将于interval(单位为秒)后自动角发callback事件
Form.Element.EventObserver(form,interval,callback):如果表单元素element被激发事件,将于interval(单位为秒)后自动触发callback函数