zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Prototype使用指南之selector.js说明

JS 说明 使用指南 prototype Selector
2023-06-13 09:14:02 时间
下面是css2selector的语法,当然很多浏览器只是支持其中的一部分,Prototype中的Selector主要支持tag选择器、class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型

ThefollowingtablesummarizesCSS2selectorsyntax,详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html:

Pattern Meaning Describedinsection * Matchesanyelement. Universalselector E MatchesanyEelement(i.e.,anelementoftypeE). Typeselectors EF MatchesanyFelementthatisadescendantofanEelement. Descendantselectors E>F MatchesanyFelementthatisachildofanelementE. Childselectors E:first-child MatcheselementEwhenEisthefirstchildofitsparent. The:first-childpseudo-class E:linkE:visited MatcheselementEifEisthesourceanchorofahyperlinkofwhichthetargetisnotyetvisited(:link)oralreadyvisited(:visited). Thelinkpseudo-classes E:activeE:hoverE:focus MatchesEduringcertainuseractions. Thedynamicpseudo-classes E:lang(c) MatcheselementoftypeEifitisin(human)languagec(thedocumentlanguagespecifieshowlanguageisdetermined). The:lang()pseudo-class E+F MatchesanyFelementimmediatelyprecededbyanelementE. Adjacentselectors E[foo] MatchesanyEelementwiththe“foo”attributeset(whateverthevalue). Attributeselectors E[foo=”warning”] MatchesanyEelementwhose“foo”attributevalueisexactlyequalto“warning”. Attributeselectors E[foo~=”warning”] MatchesanyEelementwhose“foo”attributevalueisalistofspace-separatedvalues,oneofwhichisexactlyequalto“warning”. Attributeselectors E[lang|=”en”] MatchesanyEelementwhose“lang”attributehasahyphen-separatedlistofvaluesbeginning(fromtheleft)with“en”. Attributeselectors DIV.warning HTMLonly.ThesameasDIV[class~=”warning”]. Classselectors E#myid MatchesanyEelementIDequalto“myid”. IDselectors

Selector中包含Selector对象和类,

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

match(element):元素是否与本selector匹配,在Element中已经介绍了
findElements(parentNode):parentNode中所有匹配本selector的子孙元素列表

使用方法也很简单vars=newSelector(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支持"divli.#id"形式

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

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