Prototype使用指南之selector.js
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:
Pattern | Meaning | Described in section |
---|---|---|
* | Matches any element. | Universal selector |
E | Matches any E element (i.e., an element of type E). | Type selectors |
E F | Matches any F element that is a descendant of an E element. | Descendant selectors |
E > F | Matches any F element that is a child of an element E. | Child selectors |
E:first-child | Matches element E when E is the first child of its parent. | The :first-child pseudo-class |
E:link E:visited | Matches 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-classes |
E:active E:hover E:focus | Matches E during certain user actions. | The dynamic pseudo-classes |
E: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-class |
E + F | Matches any F element immediately preceded by an element E. | Adjacent selectors |
E[foo] | Matches any E element with the “foo” attribute set (whatever the value). | Attribute selectors |
E[foo=”warning”] | Matches any E element whose “foo” attribute value is exactly equal to “warning”. | Attribute selectors |
E[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 selectors |
E[lang|=”en”] | Matches any E element whose “lang” attribute has a hyphen-separated list of values beginning (from the left) with “en”. | Attribute selectors |
DIV.warning | HTML only. The same as DIV[class~=”warning”]. | Class selectors |
E#myid | Matches 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也有几个静态方法,它们分别是:
matchElements(elements, expression):返回elements中符合expression的元素列表
findElement(elements, expression, index):返回elements中符合expression的元素列表中索引为index的元素
findChildElements(element, expressions):找出element的子孙元素中符合expressions的元素列表,其中expressions是一个expression数组,其中的expression支持"div li.#id"形式
$$方法:只是简单的调用return Selector.findChildElements(document, $A(arguments))
虽然Selector有这么多方法,但是大部分都是内部调用的,我们一般都很少使用,因为我们有个一个方便的方法$$,对于绝大部分情况已经足够了- Prototype使用指南之dom.js
- Prototype使用指南之form.js
- 使用prototype.js进行异步操作
- 使用prototype.js 的时候应该特别注意的几个问题.
- Prototype1.6 JS 官方下载地址
- JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
- JS 面向对象之神奇的prototype
- javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
- 深入分析js中的constructor和prototype
- 为JS扩展Array.prototype.indexOf引发的问题探讨及解决
- 解析jQuery与其它js(Prototype)库兼容共存
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- js中prototype用法详细介绍
- js中继承的几种用法总结(apply,call,prototype)
- js使用Array.prototype.sort()对数组对象排序的方法
- 谈谈js中的prototype及prototype属性解释和常用方法
相关文章
prototype Element学习笔记(Element篇三)
上一篇把Element的所函数都梳理了一遍,下面总结一下这些函数的功能,毕竟函数太多,不分门别类一下还是没有底。2008-10-10Prototype源码浅析 Enumerable部分之each方法
在javascript中,根本找不到Enumerable的影子,因为这一块是Prototype作者从Ruby中借鉴过来的。2012-01-01
最新评论