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

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

今天给大家分享的是由图老师小编精心为您推荐的Prototype使用学习手册指南之Selector.js,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - Web开发 】

  Prototype 中的Selector主要支持tag选择器、class选择器和id选择器,还有属性(attribute)选择器,Selector是利用css selector来匹配选择页面元素的,所以要理解Selector首先应该对css selector有所理解,下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,基本上包含我们平时所用的所有类型

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)The following table summarizes CSS2 selector syntax, 详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html:

PatternMeaningDescribed in section*Matches any element.Universal selectorEMatches any E element (i.e., an element of type E).Type selectorsE FMatches any F element that is a descendant of an E element.Descendant selectorsE FMatches any F element that is a child of an element E.Child selectorsE:first-childMatches element E when E is the first child of its parent.The :first-child pseudo-classE:link E:visitedMatches element E if E is the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited).The link pseudo-classesE:active E:hover E:focusMatches E during certain user actions.The dynamic pseudo-classesE:lang(c)Matches element of type E if it is in (human) language c (the document language specifies how language is determined).The :lang() pseudo-classE + FMatches any F element immediately preceded by an element E.Adjacent selectorsE[foo]Matches any E element with the foo attribute set (whatever the value).Attribute selectorsE[foo=warning]Matches any E element whose foo attribute value is exactly equal to warning.Attribute selectorsE[foo~=warning]Matches any E element whose foo attribute value is a list of space-separated values, one of which is exactly equal to warning.Attribute selectorsE[lang|=en]Matches any E element whose lang attribute has a hyphen-separated list of values beginning (from the left) with en.Attribute selectorsDIV.warningHTML only. The same as DIV[class~=warning].Class selectorsE#myidMatches any E element ID equal to myid.ID selectorsSelector中包含Selector对象和类,

其中Selector也有几个静态方法,它们分别是:

  matchElements(elements, expression):返回elements中符合expression的元素列表

  findElement(elements, expression, index):返回elements中符合expression的元素列表中索引为index的元素

  findChildElements(element, expressions):找出element的子孙元素中符合expressions的元素列表,其中expressions是一个expression数组,其中的expression支持"div li.#id"形式

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

$$方法:只是简单的调用return Selector.findChildElements(document, $A(arguments))

虽然Selector有这么多方法,但是大部分都是内部调用的,我们一般都很少使用,因为我们有个一个方便的方法$$,对于绝大部分情况已经足够了

Selector对象具有下面两个方法:

  match(element):元素是否与本selector匹配,在Element中已经介绍了

  findElements(parentNode):parentNode中所有匹配本selector的子孙元素列表

使用方法也很简单 var s=new Selector(expression); s.match(element); s.findElements($(element)),其中expression可以是如下方式 "div"、"#id"、".class"、"div#id"、"div[attribute]"、"div[attribute=fff]"、"div[attribute!=sdf]"

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

延伸阅读
标签: Web开发
$A = Array.from(iterable):  将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[]  Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法, 注意以下方法除了clear外都不改变原来数组,而是返回一个新数...
标签: 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方法,提供...

经验教程

667

收藏

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