[javascript]MooTools Selectors(MooTools 选择器) ELEMENT DOM选择
//ELEMENT DOM选择
//on are tag names.
//All the divs on the page:
$$('div');
//All the divs and paragraphs
//note: this returns an array with all the divs first,
//then all the paragraphs:
$$('div', 'p');
//When you include Selectors.js, you can
//pass in CSS selectors.
//All the divs with the css class 'myClass':
$$('div.myClass')
/All the paragraphs that are inside divs:
$$('div p');
//All the bold tags in paragraphs with
//Class 'foo' in divs with class 'myClass':
$$('div.myClass p.foo b');
| 可以继承Selectors的DOM方法 | |
| Element.getElement | Element.getAllNext |
| Element.getElements | Element.getFirst |
| Element.match | Element.getLast |
| Element.getPrevious | Element.getParent |
| Element.getAllPrevious | Element.getParents |
| Element.getNext | Element.getChildren |
CSS3表达式选择
//All the inputs where name equals 'email'
$$('input[name=email]')
//All the images with urls that end in .gif:
$$('img[src$=gif]')
//All the links without target="_blank":
$$('a[target!=_blank]')
Note that these expressions can take double or single quotes when you
want to search for something that has a space or other character: $$('input[name!="user[username]"]')
$$('img[src$=".gif"]')
| CSS3表达式匹配规则 | |
| = | 匹配给定的属性是某个特定值的元素 |
| ^= | 匹配给定的属性是以某些值开始的元素 |
| $= | 匹配给定的属性是以某些值结尾的元素 |
| != | 匹配给定的属性是不包含某个特定值的元素 |
| *= | 匹配给定的属性是以包含某些值的元素 |
| ~= |
该属性的值必须是一系列用空格隔开的多个值,(比如,class=”title featured home”),而且这些值中的一个必须是指定的值”value”。 |
| |= |
属性的值就是“value”或者以“value”开始并立即跟上一个“-”字符,也就是“value-”。(比如lang=”zh-cn”) |
基本选择器
| 选择器 | 描述 | 示例 | 备注 |
| #id | 根据给定的id匹配一个元素 | $$(‘#myid’)选取文档中id为myid的一个元素 | |
| .class | 根据给定的类名匹配元素 | $$(‘.myclass’)选取文档中所有class为myclass的元素 | |
| element | 根据给定的标签名匹配元素 | $$(‘p’)选取文档中所有的<p>元素 | |
| * | 匹配所有元素 | $$(‘*’)选取所有的元素 | IE中$$(‘*’)有问题 |
|
Selector1, Selector2, …..,SelectorN |
将每一个选择器匹配到的元素合并后一起返回 | $$(‘div’,’span’,'p.myclass’)选取所有<div>,<span>和class为myclass的<p>标签的一组元素 |
层次选择器
| 选择器 | 描述 | 示例 | 注意 |
|
后代选择器 |
|||
| $$(‘ancestor descendant’) | 选取ancestor元素里的所有descendant(后代).元素即ancestor(祖先),descendant(子孙)。 | $$(‘body div’) 选取body里的所有的div元素。 | 后代选择器是基于一个元素是否是另一个元素的后代来决定是否应用样式的 |
| 直接子选择器 | |||
| $$(‘parent>child’) | 选取parent元素下的child(子)元素,与$$(‘ancestor descendant’)是有区别的,$$(‘ancestor descendant’)选择的是后代元素。 | $$(‘body > div’) 选取body里元素是div的子元素。 | 选择parent的直接子节点child. child必须包含在parent中并且父类是parent元素。 |
|
兄弟(相邻)组合选择器 |
|||
| $$(‘prev+next’) | 选取紧跟在prev元素后的下一个元素。 | $$(‘.one + div’) 选取class为one的下一个 div 元素。 | prev和next是两个同级别的元素. 选中在prev元素后面的next元素。 |
| 普通兄弟组合选择器 | |||
| $$(‘prev~siblings’) | 选取prev元素之后的所有siblings元素。 |
$$(‘.two ~ div’)选择 class为two的元素后面的所有div兄弟元素。 $$(‘#someDiv~[title]’)选择id为someDiv的对象后面所有带有title属性的元素。 |
siblings是过滤器 |
过滤选择器
| 选择器 | 描述 | 示例 | 备注 |
| 基本过滤选择器 | |||
| :index | 根据索引号查取元素 | 查找列表索引号是3的所有li :$$(‘li:index(3)’) | 从 0 开始计数(自定义伪类选择器) |
| :even | 匹配所有索引值为偶数的元素 | 查找列表li的1、3、5…行:$$(‘li:even’) |
从 0 开始计数(自定义伪类选择器) 强烈推荐使用本选择器来替代nth-child(even), 因为它返回的是实际的偶数序子元素. |
| 匹配所有索引值为奇数的元素 | 查找列表li的1、3、5…行:$$(‘li:odd’) |
从 0 开始计数(自定义伪类选择器) 强烈推荐使用本选择器来替代nth-child(odd), 因为它返回的是实际的奇数序子元素. |
|
| 可见性过滤选择器 | |||
| :enabled | 匹配所有可用元素 | $$(‘*:enabled’) $$(‘myElement’).getElements(‘:enabled’); |
(自定义伪类选择器) |
| 内容过滤选择器 | |||
| :empty | 匹配所有内容为空的元素 | $$(‘div:empty’); | |
| :contains(text) | 匹配含有文本内为“text”的元素 | $$("p:contains(‘find me’)"); | |
| :not(selector) |
检测当前元素是否符合指定的CSS规则. |
# 除 .foobar 以外的所有 <div> 的背景为黑色 $$(‘div:not(.foobar) ‘).setStyle(‘background’,'#000′); # 除 .foo 和 .bar 以外的所有 <h2> 的背景都为 #ccc $$(‘h2:not(.foo, .bar) ‘).setStyle(‘background’,’#ccc‘); |
|
| 子元素过滤选择器 | |||
|
:nth-child (expression) |
匹配其父元素下的第N个子或奇偶元素。 可以使用: 所有奇数序子元素: ‘:nth-child(odd)’ 所有偶数序子元素: ‘:nth-child(even)’ 无兄弟节点的子元素: ‘:nth-child(only)’ 第一个子元素: ‘nth-child(first)’ 最后一个子元素: ‘nth-child(last)’ |
在每个 ul 查找第 2 个li: $$(‘ul li:nth-child(2)’) |
:nth-child从1开始的。 |
| :first-child |
选取每个父元素的第一个子元素 |
在每个 ul 中查找第一个 li: $$(‘ul li:first-child’) |
|
| :last-child |
匹配最后一个子元素。 ‘:last’只匹配一个元素,而此选择符将为每个父元素匹配一个子元素 |
在每个 ul 中查找最后一个 li: $$(‘ul li:last-child’) |
|
| : only-child |
如果某个元素是父元素中唯一的子元素,那将会被匹配。 如果父元素中含有其他元素,那将不会被匹配。 |
在 ul 中查找是唯一子元素的 li: $$(‘ul li:only-child’) |
|
| 表单对象属性过滤选择器 | |||
| :selected | 匹配所有选中的option元素 | 查找所有选中的选项元素: $$(’select option:selected’) |
自定义伪类选择器 |
| :checked | 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) | 查找所有选中的复选框元素: $$(‘input:checked’) |
|
属性过滤选择器
| 名称 | 描述 | 示例 |
| [attribute] | 匹配包含给定属性的元素 | 查找所有含有 id 属性的 div 元素: $$(‘div[id]‘) |
| [attribute=value] | 匹配给定的属性是某个特定值的元素 | 查找所有 name 属性是 newsletter 的 input 元素: $$(“input[name='newsletter']“).attr(‘checked’, true); |
| [attribute!=value] | 匹配给定的属性是不包含某个特定值的元素 | 查找所有 name 属性不是 newsletter 的 input 元素: $$(“input[name!='newsletter']“).attr(‘checked’, true); |
| [attribute^=value] | 匹配给定的属性是以某些值开始的元素 | $$(“input[name^='news']“) |
| [attribute$=value] | 匹配给定的属性是以某些值结尾的元素 | 查找所有 name 以 ‘letter’ 结尾的 input 元素: $$(“input[name$='letter']“) |
| [attribute*=value] |
匹配给定的属性是以包含某些值的元素 |
查找所有 name 包含 ‘man’ 的 input 元素: |
| [attribute~=value] | 该属性的值必须是一系列用空格隔开的多个值,(比如,class=”title featured home”),而且这些值中的一个必须是指定的值”value”。 |
查找所有的a 元素,并且class属性中含有tit的元素 $$(‘a[class~=tit]‘) |
| [attribute|=value] | 属性的值就是“value”或者以“value”开始并立即跟上一个“-”字符,也就是“value-”。(比如lang=”zh-cn”) |
该语句将匹配所有class属性包含”post”并带”-”字符的div元素。 $$(“[class|='post'] “) |
|
[attributeFilter1] [attributeFilter2] [attributeFilterN] |
复合属性选择器,需要同时满足多个条件时使用。 | 找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的: $$("input[id][name$='man']") |
addEvent('domready',function(){
[javascript]MooTools Selectors(MooTools 选择器) ELEMENT DOM选择的更多相关文章
- Is it possible to implement a Firebug-like “inspect element” DOM element highlighter with client-side JavaScript?
Is it possible to implement a Firebug-like "inspect element" DOM element highlighter with ...
- UiPath: Selectors repair 选择器的修复,即被选择的按钮发生改变如何选择第二按钮
实现批量注册用户功能时,出现第一个用户注册完时,弹出确认按钮,点击即可,但是第二个用户注册完成时,弹出的按钮与第一个有差异,图形用户界面元素及其父元素的属性都发生改变.所以就点不了按钮,就卡死在这.如 ...
- jQuery选择器和DOM操作——《锋利的jQuery》(第2版)读书笔记1
第1章 认识jQuery jQuery有以下优势: 轻量级: 强大的选择器: 出色的DOM操作的封装: 可靠的事件处理机制: 完善的Ajax: 不污染顶级变量: 出色的浏览器兼容性: 链式操作方式: ...
- 第25篇 jQuer快速学习(上)---选择器和DOM操作
这个文章经历的时间比较长,不是因为jQuery比较难,而是东西比较多,真心是个体力活.所以本来想把jQuery做成一篇去写,但由于写的时候发现jQuery发现写成一篇的话过于长,对于阅读起来也不是一个 ...
- [转]jQuery 选择器和dom操作
居然是12年的总结.... 文章地址: http://www.cnblogs.com/happyPawpaw/articles/2595092.html JQuery选择器 1.基本选择器 基本选择器 ...
- Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode
Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode Element DOM Tree jQuery pl ...
- JQuery攻略(一) 基础知识——选择器 与 DOM
JQuery是功能丰富的Javascript库,可以帮助用户毫不费力地把动态功能应用到网页. JQuery具有许多强大的功能,包括访问部分网页,快速修改网页内容,添加动画,应用AJAX技术等等. 正因 ...
- 读<jquery 权威指南>[1]-选择器及DOM操作
今天是小年了,2013马上要过去了,但是学习不能间断啊.最近正在看<jQuery权威指南>,先温习一下选择器和DOM操作. 一.基本选择器 1.table单双行: $(function ( ...
- JavaScript(核心、BOM、DOM)
http://www.flyne.org/article/407 JavaScript(核心.BOM.DOM) JavaScript是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性( ...
随机推荐
- IQC,QA,FQC,OQC,IPQC的定义与职责
进货检验员(IQC):CLInetLabIQC(以下简称IQC)是CLInet在多年开发维护EQA(实验室间质量评价)系统后,成功开发的一套完善的实验室内部的质量评价.质量控制的软件.它不仅包含了每家 ...
- 浅谈 android-query
介绍:android-query他是在GitHub上的一个开源轻量级的封装库,它集成了网络 .图片加载等模块,可以应用在android中的一些异步应用以及UI的操纵上,通过使用这个框架,使androi ...
- 使用自定义脚本扩展程序自动执行 VM 自定义任务
在 Build 开发者大会上推出VM 扩展程序的其中一个称为"自定义脚本扩展程序",它支持 PowerShell.如果这是您第一次访问这些博客,可能需要查看以前的博客,请单击 ...
- Juicy Couture_百度百科
Juicy Couture_百度百科 Juicy Couture
- Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode
Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode Element DOM Tree jQuery pl ...
- HttpUrlConnection get和post简单实现(疑惑解决)
近期研究微信的公众平台开发.须要和微信的server进行数据读取,简单研究了下jdk自带的HttpUrlConnection类(URLConnection的子类),简单实现了一下微信的access_t ...
- C# 动态载入Dll
1.新建測试dll及方法,用vs2010新建winform程序,详细代码例如以下: using System; using System.Collections.Generic; using Syst ...
- hdu 5040 BFS 多维化处理图
http://acm.hdu.edu.cn/showproblem.php?pid=5040 跟这一题http://blog.csdn.net/u011026968/article/details/3 ...
- CSS文字样式
font-family:通常文章的正文使用的是易读性较强的serif字体,用户长时间阅读下不easy疲劳.而标题和表格则採用较醒目的sans-serif字体.Web设计及浏览器设置中也推荐遵循此原则. ...
- java中如何获取系统时间
需要引入的包有: import java.util.Date; 此为获取当前系统时间,合适为“1991-01-01” String now = ""; SimpleDateF ...