[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是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性( ...
随机推荐
- 阿里云ECS每天一件事D6:安装nginx-1.6.2
自从接触nginx就开始喜欢上这个小东西了,似乎没什么特别的原因,就是喜欢而已. 1.安装环境的准备 yum install pcre pcre-devel openssl openssl-devel ...
- 谷歌日志库GLog 使用说明
1 引用头文件 加载库 #include <glog/include/logging.h> #pragma comment(lib,"libglog.lib") 2 初 ...
- CH Round #57 - Story of the OI Class 凯撒密码
很有意思的一道题目 考场上想的是HASH成一个整数,把末位asicc码值*1,依次乘*10,得到一个整数,然后利用等差性.唯一性快排Nlogn乱搞的 证明如下: 对于明文abcde 密文 bcdef ...
- SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释
一.SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释:根据datatable名填充Dataset.myda.Fill(ds, ...
- Mybaits入门之起航
前言 Mybaits技术现在很多公司都在使用,它提供了简单的API可以快速进行数据库操作,所以不管是自己做系统还是找工作都有必要了解一下. 学习一门技术如果是入门的话要么买书要么就是阅读官方的文档,而 ...
- spring 加载配置文件的相关配置总结
PropertyPlaceholderConfigurer 注意: Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或<context:p ...
- Exponentiation
Description Problems involving the computation of exact values of very large magnitude and precision ...
- Spring学习之注入方式
我们知道,Spring对象属性的注入方式有两种:设值注入和构造注入. 假设有个类为People,该对象包含三个属性,name和school还有age,这些属性都有各自的setter和getter方法, ...
- Java判断字符串是中文还是英文
在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是中文还是英文,从而做相应的处理,其实不难,大多数人们都是用到正则来判断的,下面小贝就给大家分享一下Java判断字符串是中文还是英文 推荐文 ...
- [置顶] 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……
两台主机A.B搭建mysql主从复制关系(A为master,B为slave)后,在slave上执行show slave status,结果中显示Last_IO_Error: error connect ...