Prototype使用指南之selector.js

2016-02-19 10:55 8 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的Prototype使用指南之selector.js懂设计的网友们快点来了解吧!

【 tulaoshi.com - Web开发 】

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

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 selectors

Selector中包含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]"

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1596121.html

延伸阅读
标签: Web开发
Prototype中的ajax.js提供了一个非常好用的ajax框架,一般应用中简单的调用以下代码就可以了 new Ajax.Request(     url, {method: “get”,     onSuccess: showFilter,     onFailure: function(request){alert(”Server error!”)},     onException: showErr...
标签: Web开发
这一部分提供了很多与表单操作有关的功能,包括以下部分,当通过$方法返回元素时,可以直接通过$(element).method()调用: Form对象:提供了操作整个表单的一些方法 Form.Element对象:提供了操作某个表单元素的方法 TimedObserver类:周期性表单监视器,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型 ...
标签: Web开发
和在我以前使用这个类库的不少开发者一样,一开始,我不得不一头扎进阅读prototype.js的源代码和实验它的功能中。Prototype中的ajax.js提供了一个非常好用的ajax框架,一般应用中简单的调用以下代码就可以了 new Ajax.Request( url, {method: “get”, onSuccess: showFilter, onFailure: function(request){alert(”Server ...
标签: Web开发
Position是prototype中定义的一个对象,提供了操作DOM中与位置相关的方法,要很好的理解元素在页面中的位置,具体代码如下,按照代码说说,其中英文是作者的注释,中文的才是偶的说明或翻译英文的注释,采用顶式注释法(注释在要说明的代码的上面)说明 // set to true if needed, warning: firefox performance problems // NOT neeede...
标签: Web开发
键盘事件包括keydown、kepress和keyup三种,每次敲击键盘都会(依次?)触发这三种事件,其中keydown和keyup是比较低级的接近于硬件的事件,通俗的理解是这两个事件可以捕获到你敲击了键盘中某个键;而keypress是相对于字符层面的较为高级点的事件,这个事件能够捕捉到你键入了哪个字符。可以这样理解,如果你敲击了A键,keydown和keyup事件...

经验教程

252

收藏

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