dojo之query和NodeList选择器

来源:互联网 发布:淘宝虚标价格 编辑:程序博客网 时间:2024/04/28 00:13

选择器:

*                                       任何元素                                                              *  

E                                      一个类型为E的元素                                           h1

E[foo]                               一个有foo属性的元素                                       p[myAtttib]

E[foo="bar"]                    一个元素E,foo属性等于bar                          p[myAtttib="special"]

E[foo^="bar"]                  一个元素E,foo属性以bar字符串为起始     p[myAtttib^="special"]

E[foo$="bar"]                  一个元素E,foo属性以bar字符串为结尾     p[myAtttib$="special"]

E[foo*="bar"]                   一个元素E,foo属性包含bar字符串              p[myAtttib*="special"]

E:nth-child(n)                 一个元素E,其父节点的第n个子节点            div.questions p:nth-child(2)   第2个子节点

E:nth-child(even)           一个元素E,其父节点的第偶数个子节点  

E:nth-child(odd)             一个元素E,其父节点的第奇数个子节点  

E:first-child                      一个元素E,其父节点的第一个子节点  

E:last-child                      一个元素E,其父节点的最后一个子节点  

E:not(s)                           一个元素E,它不匹配简单选择器                  p:not(.test)  

E > F                                 F是E的子节点 

E -  F                                 F是E的前继节点

E + F                                 F是E的直接前继节点

s1,s2                                s1、s2的并集


dojo.addClass(dojo.query("form > p")[0],"formTitle");
dojo.addClass(dojo.query("p[title='test']")[0],"border");
dojo.style(dojo.query("div.questions p:nth-child(even)")[1],"border","1px solid red");
dojo.style(dojo.query("p:not(.test)")[1],"border","1px solid gray");

或者用以下更简洁的表示方法

dojo.query("div .questions p:nth-child(even)").style("border","1px solid yellow");


dojo.Nodelist

dojo.query 返回的是匹配查询结果的所有节点构成的数组;这个数组实际上是一个特殊的数组对象称为dojo.NodeList

如何添加方法到dojo,jquery返回的对象上?

dojo.query返回的是一个dojo.Nodelist实例,因此只需要在dojo.Nodelist的原型对象上添加一个属性就可以了。

dojo.NodeList.prototype.fadeAndClear = function(){
this.forEach(function(node){
dojo.anim(node,{backgroundColor:"#ccc"});
});
}
dojo.query("div.questions p").fadeAndClear();


原创粉丝点击