文档对象dom是javascript与页面元素的桥梁

选择器的作用就是通过元素的标签名,属性名,css属性名对页面进行快速,准确的定位及选择

Extjs的选择器:Ext.DomQuery

Ext.query(path[,root,type])

path:查询要使用的选择符,或xpath

root:查询开始的节点或节点id。如果不设置,默认为document对象,为了提高速度,不要使用document开始查询

type:查询的类型,值可以为select和simple,当值为simple时使用id或标签属性值等座简单的查询

demo:

  var el=Ext.get(rootId); //rootId为节点id

  el.query(path);

Ext.get
Ext.get()可接收这几种类型的参数,如HTMLElement,Ext.Element、字符型,
返回的新实例。以下三种类型如下例:
var el1 = Ext.get('elId'); // 接收元素id
var el2 = Ext.get(el1); // 接受Ext.Element
var el3 = Ext.get(el1.dom); //接受HTMLElement Ext.fly
Ext.fly在参数方面与Ext.get的完全相同,但其内置控制返回Ext.Element
的方法就完全不同,Ext.fly从不保存享元对象的引用,每次调用方法都返回
独立的享元对象。其实区别在于“缓存”中,因为缓存的缘故,Ext.get需要
为每个元素保存其引用,就形成了缓存,如果有相同的调用就返回,但
Ext.fly没有所谓的缓存机制,得到什么就返回什么,不是多次使用的情况下
“一次性地”使用该元素就应该使用Ext.fly(例如执行单项的任务)。
使用Ext.fly的例子:
// 引用该元素一次即可,搞掂了就完工
Ext.fly('elId').hide();

Ext.get和Ext.fly却别

全选功能

Ext.fly("selectAll").on("click",function(e,el){

var els=Ext.query("input[name=articleId]");

for(var i=0;ln=els.length,i<ln;i++){

els[i].checked=el.checked;

}

})

Ext.Query是Ext.DomQuery.select的简写形式

基本选择符

1:*:选择任何元素       Ext.qurey("*")

2: E:根据元素标记E选择元素   Ext.query("E")    //E为元素标记,input,div

3: E F:选择包含在标记E中的标记F   Ext.query("E F") //E,F均为元素标记

4: E>F:选择包含在标记E中的直接子标记F  Ext.query("E>F")    //E,F均为元素标记

5:  E+F:选择所有紧接在元素E后的元素F    Ext.query("E+F")

6: E~F:选择在元素E之后同层的元素F  Ext.query("E~F")

7: #ID :选择id属性值为ID的元素   Ext.query("#ID")

8:.classname:选择css类名为classname的元素   Ext.query("E .classname") //E为元素标记,className为css类名

属性选择符

1.[attribute]:选择带有属性attribute的元素

语法:

Ext.query("[attribute]")

Ext.query("E[attribute]")

2.[attribute=value];选择attribute的属性元素为value的元素

Ext.query("[attribute=value]")

Ext.query("E[attribute=value]")

3.[attribute^=value]:选择attribute的属性以value开头的元素

Ext.query("[attribute^=value]")

Ext.query("E[attribute^=value]")

4.[attribute$=value]:选择attribute的属性以value结尾的元素

Ext.query("[attribute$=value]")

Ext.query("E[attribute$=value]")

5.[attribute*=value]:选择attribute的属性值包含value的元素

Ext.query("[attribute*=value]")

Ext.query("E[attribute*=value]")

6,[attribute%=value]:选择attribute的属性值能整除value的元素

Ext.query("[attribute%=value]")

Ext.query("E[attribute%=value]")

7.[attribute!=value]:选择attribute的属性值不等于value的元素

Ext.query("[attribute!=value]")

Ext.query("E[attribute!=value]")

Css属性值选择器

和属性选择符类似

不同之处:

1,使用{}代替属性选择符中的[]

2,不要使用没有属性值的语法,如:Ext.qurey("input{display}"),原因-css属性和元素属性不同,一直是存在的,所以使用Ext.qurey("input")的结果是一样的

3,经过compile方法变异后的属性函数中,byAttribute方法调用的custom参数值为‘{’

4,在byAttribute方法中,会调用DomQurey对象的getStyle方法获取css属性值

5,注意padding,background等可以合并定义的css属性,查询时必须拆分成单一的属性

如padding-left,padding-right,或background-color

伪类选择符

1,E:first-child:选择元素E,且其为父节点的第一个子节点

Ext.query("E:first-child") 如: Ext.query("input:first-child")

2,E:last-child:选择元素E,且其为父节点的最后一个子节点

Ext.query("E:last-child") 如: Ext.query("input:last-child")

3,E:nth-child(n) :选择标记为E,且其为父节点的第N(N>=1)个子节点

Ext.query("E:nth-child(n)") 如:Ext.query("input:nth-child(10)")

4.E:nth-child(odd)或:E:odd  选择标记为E,且其为父节点的 奇数子节点的元素

Ext.qurey("E:nth-child(odd)")如:Ext.qurey("input:nth-child(odd)")

5.E:nth-child(even)或:E:even  选择标记为E,且其为父节点的 偶数子节点的元素

Ext.qurey("E:nth-child(even)")如:Ext.qurey("input:nth-child(even)")

6.E:only-child  选择标记其为父节点的唯一子节点的元素

Ext.qurey("E:only-child ")如:Ext.qurey("input:E:only-child ")

7.E:checked 选择标记为E,且其checked属性为true的元素

Ext.qurey("E:checked")

8.E:first 选择标记为E,的第一个元素

Ext.qurey("E:first ")

9.E:last 选择标记为E的最后一个元素

Ext.qurey("E:checked")

10.E:nth(n) 标记为E的元素集合中的第n个元素

Ext.qurey("E:nth(n)")

11.E:contains(str) 选取标记为E,且其innerHtml属性值包含str的元素

Extjs学习笔记--(六,选择器)的更多相关文章

  1. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  2. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  3. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  4. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  5. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  6. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  7. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  8. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  9. # go微服务框架kratos学习笔记六(kratos 服务发现 discovery)

    目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批 ...

  10. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

随机推荐

  1. Oracle快速测试连接是否成功

    Oracle 客户端建立了TNS连接后,可以快速查看连接是否成功. 1.在cmd中执行命令tnsping orcl(全局数据库名称),即可.以下是命令执行后的示例. 2.如果上一步成功,可以进一步执行 ...

  2. C# 简单Tcp通信demo

    Client 代码 private void btnSend_Click(object sender, EventArgs e) { TcpClient tcpClient = new TcpClie ...

  3. 面试-Hash是怎么实现的?

    相关资料:http://blog.csdn.net/luyuncsd123/article/details/11590861 Hash生命起源:那么,我们开始思考:有什么方式既能够具备数组的快速查询的 ...

  4. vue项目引入社交分享插件

    vshare 基于百度分享开发的支持VUE2.X的分享插件,为您带来更多的流量!提供多种风格按钮,代码加载更快,引入社会化流量,提升网页抓取速度等优点.github地址:https://github. ...

  5. Linux Ubuntu下软件包管理

    自己整理的一个关于dpkg, apt, aptitude三者的常用命令,方便以后查阅. dpkg: dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件, ...

  6. fail-fast和fail-safe

    一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加.删除.修改),则会抛出Concurrent Modification Exceptio ...

  7. copy src remote_src false表示本地,true在远程

    文件组装模块-assemble assemble主要是将多份配置文件组装为一份配置文件. 参数 必填 默认 选项 说明 Backup 否 No Yes/no 是否创建备份文件,使用时间戳 Delimi ...

  8. thymeleaf+bootstrap,onclick传参实现模态框中遇到的错误

    一个困扰了N久的问题... 网上大多帖子是这么写的 onclick调javascript函数时,不能直接使用onclick=“editUser(${prod.id})”,这样会报错,需要修改成如下的格 ...

  9. Mac下删除安装的pkg

        Mac下的安装和删除都比windows更加简单清晰,这点在dmg方式下非常明显,但很多时候我们会使用pkg来进行安装,这样的安装想删除就有点麻烦了. 比如,我安装了Golang这个pkg用于g ...

  10. mongo-查询(2)——比较/$in/$nin/$or/$not

    mongo通find来查找文档.可以执行精确匹配和模糊匹配. 2. 模糊匹配 2.1比较 > $gt , >= $gte, < $lt, <= $lte, != $ne > ...