首页 > 开发 > JS > 正文

Prototype使用指南之selector.js

2024-09-06 12:43:50
字体:
来源:转载
供稿:网友

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 selector
EMatches any E element (i.e., an element of type E).Type selectors
E FMatches any F element that is a descendant of an E element.Descendant selectors
E > FMatches any F element that is a child of an element E.Child selectors
E:first-childMatches element E when E is the first child of its parent.The :first-child pseudo-class
E: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-classes
E:active E:hover E:focusMatches 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 + FMatches 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.warningHTML only. The same as DIV[class~=”warning”].Class selectors
E#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]"

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表