//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), 因为它返回的是实际的偶数序子元素.

 dd 匹配所有索引值为奇数的元素 查找列表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(3n) ‘
‘:nth-child(2) ‘
‘:nth-child(3n+1)’ 
‘:nth-child(3n+2)’

所有奇数序子元素:

‘: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 元素: 
$$(“input[name*='man']“)

[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']")

think in coding
(function(){
    addEvent('domready',function(){
 
})

[javascript]MooTools Selectors(MooTools 选择器) ELEMENT DOM选择的更多相关文章

  1. 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 ...

  2. UiPath: Selectors repair 选择器的修复,即被选择的按钮发生改变如何选择第二按钮

    实现批量注册用户功能时,出现第一个用户注册完时,弹出确认按钮,点击即可,但是第二个用户注册完成时,弹出的按钮与第一个有差异,图形用户界面元素及其父元素的属性都发生改变.所以就点不了按钮,就卡死在这.如 ...

  3. jQuery选择器和DOM操作——《锋利的jQuery》(第2版)读书笔记1

    第1章 认识jQuery jQuery有以下优势: 轻量级: 强大的选择器: 出色的DOM操作的封装: 可靠的事件处理机制: 完善的Ajax: 不污染顶级变量: 出色的浏览器兼容性: 链式操作方式: ...

  4. 第25篇 jQuer快速学习(上)---选择器和DOM操作

    这个文章经历的时间比较长,不是因为jQuery比较难,而是东西比较多,真心是个体力活.所以本来想把jQuery做成一篇去写,但由于写的时候发现jQuery发现写成一篇的话过于长,对于阅读起来也不是一个 ...

  5. [转]jQuery 选择器和dom操作

    居然是12年的总结.... 文章地址: http://www.cnblogs.com/happyPawpaw/articles/2595092.html JQuery选择器 1.基本选择器 基本选择器 ...

  6. Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode

    Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode Element DOM Tree jQuery pl ...

  7. JQuery攻略(一) 基础知识——选择器 与 DOM

    JQuery是功能丰富的Javascript库,可以帮助用户毫不费力地把动态功能应用到网页. JQuery具有许多强大的功能,包括访问部分网页,快速修改网页内容,添加动画,应用AJAX技术等等. 正因 ...

  8. 读<jquery 权威指南>[1]-选择器及DOM操作

    今天是小年了,2013马上要过去了,但是学习不能间断啊.最近正在看<jQuery权威指南>,先温习一下选择器和DOM操作. 一.基本选择器 1.table单双行: $(function ( ...

  9. JavaScript(核心、BOM、DOM)

    http://www.flyne.org/article/407 JavaScript(核心.BOM.DOM) JavaScript是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性( ...

随机推荐

  1. 基于KVM建立虚拟机的步骤及总结说明

    1.前言 目前正在涉足云计算IaaS工作,虚拟化是IaaS的重要部分,因此这段时间对各个虚拟机化技术和工具进行研究,研究的目的不仅仅是为了会使用这个工具,而是通过研究了解技术的实现机制和原理,即知其然 ...

  2. 解决Flex4 发布后访问 初始化极其缓慢的问题

    原文http://blog.163.com/vituk93@126/blog/static/170958034201282222046364/ 昨天找了个免费.net空间,想测试一下做的一个简单Fle ...

  3. 基于xml文件实现系统属性配置管理

    文章标题:基于xml文件实现系统属性配置管理 . 文章地址: http://blog.csdn.net/5iasp/article/details/11774501 作者: javaboy2012 E ...

  4. iOS 面试题:OC基本概念题

    1.什么是类和对象? 类是一组具有同样特征和功能的事物的抽象 对象描写叙述了一个物体的特征和行为实现 类是对象的抽象 对象是类的实例 2.OC中定义类,创建对象,使用对象. OC中定义类分为接口部分, ...

  5. UI基础:UILabel.UIFont

    UILabel:标签 继承自UIView ,在UIView基础上扩充了显示文本的功能.(文本框) UILabel的使用步骤 1.创建控件 UILabel *aLabel=[[UILabel alloc ...

  6. ImageMagick 转换 progressive jpeg

    什么是渐进式图片(Progressive JPEG)? 来自 张鑫旭-鑫空间-鑫生活 的解释: 不知诸位有没有注意到,这些jpg格式的图片在呈现的时候,有两种方式,一种是自上而下扫描式的,还有一种就是 ...

  7. Objective-c 内存管理

    与 C 有一点类似,oc  需要使用 alloc 方法申请内存.不同的是,c 直接调用 free 函数来释放内存,而 oc 并不直接调用 dealloc 来释放.整个  oc 都使用对象引用,而且每一 ...

  8. .net Web应用程序使用IIS调试

    1.这种调试方式是区别于使用Visual Studio 自带的调试方式 2.点击[创建虚拟目录],成功

  9. Apache proxy中转设置

    参考http://sjsky.iteye.com/blog/1067119 打开http.conf  (macOS中 Apache配置文件在/etc/apache2/中   etc是隐藏的) 确保下面 ...

  10. 一个帝国cms [!--show.listpage--] css样式

    1.在分页位置加<div class="pagepage">[!--show.listpage--]</div> </div>这个标签 2.在需 ...