Ext.DomQuery选择符的用法

第一部分:元素选择符Selector
// 这个查询会返回有两个元素的数组因为查询选中对整个文档的所有span标签。

Ext.query ( "span" ) ;
// 这个查询会返回有一个元素的数组因为查询顾及到了foo这个id。
Ext.query ( "span" , "foo" ) ;
// 这个查询会返回包含我们foo div一个元素的数组!
Ext.query ( "#foo" ) ;

*这个查询会返回有一个元素的数组,
包含与之前例子一样的div但是我们使用了class name来获取*/

Ext.query ( ".foo" ) ;

要获取子标签,我们只须在两个选择符之间插入一个空格:

// 这会返回有一个元素的数组,内容为div标签下的p标签 Ext.query ( "div p" ) ; // 这会返回有两个元素的数组,内容为div标签下的span标签 Ext.query ( "div span" ) ;

第二部分:属性选择符Attributes selectors

// 我们检查出任何存在有class属性的元素。

// 这个查询会返回5个元素的数组。
Ext.query ( "*[class]" ) ;
// 这会得到class等于“bar”的所有元素
Ext.query ( "*[class=bar]" ) ;

// 这会得到class不等于“bar”的所有元素
Ext.query ( "*[class!=bar]" ) ;

// 这会得到class从“b”字头开始的所有元素
Ext.query ( "*[class^=b]" ) ;

//这会得到class由“r”结尾的所有元素
Ext.query ( "*[class$=r]" ) ;

//这会得到在class中抽出“a”字符的所有元素
Ext.query ( "*[class*=a]" ) ;

第三部分: CSS值元素选择符

// 获取所以红色的元素
Ext.query ( "*{color=red}" ) ; // [div#bar.foo]

// 获取所有粉红颜色的并且是有红色子元素的元素
Ext.query ( "*{color=red} *{color=pink}" ) ; // [span.bar]

// 获取所有不是红色文字的元素
Ext.query ( "*{color!=red}" ) ; // [html, head, script firebug.js, link, body#ext-gen2.ext-gecko, script ext-base.js, script ext-core.js, span.bar, a www.extjs.com, div#foo.bar, p, span.bar, a test.html#]

// 获取所有颜色属性是从“yel”开始的元素
Ext.query ( "*{color^=yel}" ) ; // [a www.extjs.com]

// 获取所有颜色属性是以“ow”结束的元素
Ext.query ( "*{color$=ow}" ) ; // [a www.extjs.com]

// 获取所有颜色属性包含“ow”字符的元素
Ext.query ( "*{color*=ow}" ) ; // [a www.extjs.com, span.bar]

伪类选择符Pseudo Classes selectors

/*
SPAN元素为其父元素的第一个子元素
*/

Ext.query ( "span:first-child" ) ; // [span.bar]

/*
A元素为其父元素的最后一个子元素
*/

Ext.query ( "a:last-child" ) // [a www.extjs.com, a test.html#]

/*
SPAN元素为其父元素的第2个子元素(由1开始的个数)
*/

Ext.query ( "span:nth-child(2)" ) // [span.bar]

/*
TR元素为其父元素的奇数个数的子元素
*/

Ext.query ( "tr:nth-child(odd)" ) // [tr, tr]

/*
LI元素为其父元素的奇数个数的子元素
*/

Ext.query ( "li:nth-child(even)" ) // [li, li]

/*
返回A元素,A元素为其父元素的唯一子元素
*/


Ext.query ( "a:only-child" ) // [a test.html#]

/*
返回所有选中的(checked)的INPUT元素
*/

Ext.query ( "input:checked" ) // [input#chked on]

/*
返回第一个的TR元素
*/

Ext.query ( "tr:first" ) // [tr]

/*
返回最后一个的INPUT元素
*/

Ext.query ( "input:last" ) // [input#notChked on]

/*
返回第二个的TD元素
*/

Ext.query ( "td:nth(2)" ) // [td]

/*
返回每一个包含“within”字符串的DIV
*/

Ext.query ( "div:contains(within)" ) // [div#bar.foo, div#foo.bar]

/*
返回没有包含FORM子元素以外的那些DIV
*/

Ext.query ( "div:not(form)" ) [ div#bar.foo , div#foo.bar , div]

/*
返回包含有A元素的那些DIV集合
*/

Ext.query ( "div:has(a)" ) // [div#bar.foo, div#foo.bar, div]

/*
返回接着会继续有TD的那些TD集合。
尤其一个地方是,如果使用了colspan属性的TD便会忽略
*/

Ext.query ( "td:next(td)" ) // [td, td]

/*
返回居前于INPUT元素的那些LABEL元素集合
*/

Ext.query ( "label:prev(input)" ) //[label, label]

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值