Prototype使用学习手册指南之dom.js

2016-02-19 16:35 3 1 收藏

下面是个超简单的Prototype使用学习手册指南之dom.js教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - Web开发 】

  DOM定义对操作一个文档对象的节点结构提供了实用的方法,它提供了像执行对象插入,更新,删除,克隆等这些常用的方法。这部分提供了很多(写的都有点烦了)方便的操作dom的方法:包含有名的$方法、document.getElementsByClassName方法,以及Element对象、Insertion对象

  以下部分一个一个的详细介绍:

  $(element):getElementById的封装,element可以是一个元素的id或元素本身,也可以是一个数组,这时返回一个数组,使用$方法,会自动调用Element.extend(element)方法,这样的话使元素可以直接调用 Element中的方法, 例如Element.hide(element)可以写成这样$(element).hide()

  document.getElementsByClassName(className, parentElement): 根据class选择元素

  Element.extend(element): 扩展element,使element可以直接调用Element、Form.Element或Form中定义的方法

  Element对象的方法:

  visible: function(element):判断element是否可见, 参数element可以是元素本身或元素id(下面的方面的参数基本上都是这样的)

  toggle: function(element):反转element的可见性

  hide: function(element):隐藏元素

  show: function(element):显示元素

  remove: function(element):移除元素

  update: function(element, html) :使用html更新element的内容,html中的script会执行(下同)

  replace: function(element, html):将element替换为html

  inspect: function(element):element的字符串表示

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  recursivelyCollect: function(element, property): 递归收集, 例如Element.recursivelyCollect(element, "parentNode")返回element所有的祖先节点, 注意只返回nodeType == 1的元素,也就是不返回文本元素

  ancestors: function(element): 等同于上面的例子,返回元素的所有祖先节点

  descendants: function(element): 返回所有子孙节点

  immediateDescendants: function(element):返回元素的直接的子孙节点(子节点)的数组

  previousSiblings: function(element):返回元素前面的兄弟节点

  nextSiblings: function(element):返回位于元素后面的兄弟节点

  siblings: function(element):返回元素所有的兄弟节点

  match: function(element, selector):使用Selector的match方法匹配元素(Selector将在后面介绍), selector参数是一个css selector表达式或者Prototype中的一个Selector实例,如果element匹配selector则返回true,否则返回 false,例如对于一个className为logcss的div来说,下面的表达式返回true, $(element).match("div.logcss") 待续。。

  up(element, expression, index):利用Selector.findElement方法找到element元素的祖先节点中符合表达式expression的所有元素组成的数组索引为index的元素,也可以忽略expression(默认为*,表示匹配所有元素)和index(默认为0),直接这样调用up(element, index)或up(element)

  down(element, expression, index):跟up一样,只是返回的是子孙节点

  previous(element, expression, index):返回前面的兄弟节点

  next(element, expression, index):返回后面的兄弟节点

  getElementsBySelector(element,args):Selector.findChildElements(element, args)的封装,args表示可以传递多个参数,每个参数是一个css selector表达式,返回element的子孙节点中符合任何一个css selector表达式的元素组成的数组

  getElementsByClassName(element, className):返回element中的子孙节点中符合clsssName的元素

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  readAttribute(element, name):return $(element).getAttribute(name),之所以添加这个方法是因为在IE和Safari(Mac)中getAttribute不是一个真正的函数,它没有call、apply等方法,所以在很多时候调用会出现错误(Prototype中很多地方使用了函数的这两个方法),例如下面的例子(官方文档中的一个例子),就只能使用readAttribute:

  div id="widgets"

  div class="widget" widget_id="7"/div

  div class="widget" widget_id="8"/div

  div class="widget" widget_id="9"/div

  /div

  $$(’div.widget’).invoke(’readAttribute’, 'widget_id’)

  // ["7", "8", "9"]

  getHeight: function(element):返回元素高度,return element.offsetHeight

来源:https://www.tulaoshi.com/n/20160219/1612497.html

延伸阅读
标签: Web开发
Range对象是一个继承自Enumerable的"范围"对象,你可以把它看成[x,x+1,x+2,x+3......x+n]的数组看待,但是比这样的数组跟节省存储空间,因为range对象只是保存x和x+n而已 要创建一个Range对象可以调用$R(start, end, exclusive) 方法,exclusive指定是否包含end本身,如果没有指定或为false则包含end,否则不包含 你可以利用Enumerable中定义的...
标签: Web开发
Hash对象(关联数组)是Prototype新建的一个对象,要创建一个Hash对象可以调用$H(object)方法,因为javascript本身的特点(对象本身就是关联数组) ,所以实现Hash也很简单,Prototype中的Hash只是javascript的关联数组(对象) keys(): 返回hash的键值数组 values(): 返回值得数组 merge(hash): 合并两个hash toQueryString(): 跟string的toQ...
标签: Web开发
这一部分提供了很多与表单操作有关的功能,包括以下部分,当通过$方法返回元素时,可以直接通过$(element).method()调用: Form对象:提供了操作整个表单的一些方法 Form.Element对象:提供了操作某个表单元素的方法 TimedObserver类:周期性表单监视器,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型 EventObserver类:...
标签: Web开发
Enumerable是一个抽象对象(需要说明的是,javascript中并没有类的概念,所指的类也就是一个函数,继承一般指的是一个对象(父)将它的方法属性copy(通过Object.extend, copy的是引用)到子类(函数)的prototype属性(一个对象)中) Enumerable不能直接使用,它被很多枚举类型(Hash、Array、Range等)所继承,继承的类型都要实现一个_each方法,提供...
标签: Web开发
Selector是利用css selector来匹配选择页面元素的,所以要理解Selector首先应该对css selector有所理解,下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器、class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CS...

经验教程

833

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部