Ext JS学习第十五天 Ext基础之 Ext.DomQuery

此文同来记录学习笔记

•Ext.dom.Query 嗯,这个类一看就是到时做什么事儿的,不用我去过多的解释了。这个类一共提供了8个方法供开发人员去使用。

•要说最常用的方法,无非就是Ext.query这个方法,之前我们已经简单接触过了这个方法,下面是此方法的详细使用规则:

–基本元素选择器 id选择器 css的类选择器 标签选择器(简单选择器)

–属性选择器

–伪类选择器(也可以说是相当于JQ过滤选择器)

•Ext.query基本使用形式:

–Ext.query(‘span‘)     返回整个文档的span标签

–Ext.query(‘span‘ , ‘root‘)   根据跟节点进行查询

–Ext.query(‘#id‘)  根据id进行查询,但返回数组

–Ext.query(‘.class‘)  根据样式进行查询,返回数组

–Ext.query(‘div span‘)  根据标签进行包含选择器过滤

–Ext.query(‘*‘)  匹配所有元素

–Ext.query(‘input[value*=val]‘)   进行一个属性的选择匹配

–Ext.query(‘E>F‘)  进行一个层次查找父节点为E的F节点

•Ext.dom.Query其他方法:

•compile:将选择符或xpath编译成一个可重复使用的函数

•filter:使用简单选择符过滤元素数组

•is:判断元素是否匹配简单选择符

•jsSelect:根据选择符选择元素

Ext.onReady(function () {

    //Ext.DomQuery
    Ext.create(‘Ext.Panel‘, {
        title: ‘Ext.DomQuery示例‘,
        width: 500,
        height: 400,
        renderTo: Ext.getBody(),
        html: ‘<ul><li>item1</li><li>item2</li></ul><div id=d1><span id=sp>我是sp内容</span><span class="mycolor">我是第二个span</span></div>‘
    });

    Ext.DomQuery.select ==  Ext.query  //返回内容:HTMLElement[]
    ///Ext.DomQuery.jsSelect:根据选择符选择元素    (这个方法和Ext.DomQuery.select差不多)
    //我把他分为三大类:
    //基本选择器 id选择器 css的类选择器 标签选择器(简单选择器)
    //属性选择器、伪类选择器(也可以说是相当于JQ过滤选择器)(复杂选择器)

    //Ext.query(‘span‘)       返回整个文档的span标签
    //1 Ext.query(‘span‘ , ‘root‘)     根据跟节点进行查询
        var arr = Ext.query(‘span‘ , ‘d1‘);
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });
    //2 Ext.query(‘#id‘)        根据id进行查询,但返回数组
        var arr = Ext.query(‘#d1‘);
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });    

    //3 Ext.query(‘.class‘)    根据样式进行查询,返回数组
        var arr = Ext.query(‘.mycolor‘);
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });
    //Ext.query(‘*‘)    匹配所有元素
    alert(Ext.query(‘*‘));

    //复杂选择器:
    //1 :Ext.query(‘div span‘)    根据标签进行包含选择器过滤
        var arr = Ext.query(‘div[id=d1] span‘);
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });

    //1.1:Ext.query(‘E>F‘)        进行一个层次查找父节点为E的F节点
        var arr = Ext.query(‘div>span‘);        //Xpath:div/span 查找xml文件比较实用
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });    

    //2 :属性选择器Ext.query(‘E[attr=val]‘)     进行一个属性的选择匹配
        var arr = Ext.query(‘div[id*=d]‘);
        Ext.Array.each(arr,function(el){
            alert(el.id);
        });    

    //3: 伪类选择器
    //E:first-child
        var arr = Ext.query(‘li:first-child‘);
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });        

    //Ext.DomQuery其他方法:

    //1:compile:将选择符或xpath编译成一个可重复使用的函数
        var fn = Ext.DomQuery.compile(‘span‘);
        alert(fn);
        var arr = fn(Ext.getDom(‘d1‘));
        Ext.Array.each(arr,function(el){
            alert(el.innerHTML);
        });
    //2: filter:使用简单选择符过滤元素数组
    //参数说明 HTMLElement[] el, String selector, Boolean nonMatches
        var arr = document.getElementsByTagName(‘div‘);
        var filterarr = Ext.DomQuery.filter(arr,‘div[id=d1]‘,false);
        Ext.Array.each(filterarr,function(el){
            alert(el.id);
        });
    //is:判断元素是否匹配简单选择符
    alert(Ext.DomQuery.is(Ext.getDom(‘d1‘),‘div[id]‘));

});

给各位推荐个文章网www.fishcmonkey.com,学习之余提高文学修养;

时间: 2024-10-22 14:27:34

Ext JS学习第十五天 Ext基础之 Ext.DomQuery的相关文章

Ext JS学习第十四天 Ext基础之 Ext.DomHelper

此文用来记录学习笔记 •我们已经学过了Element这个类,无疑是非常强大的,里面提供了丰富的方法供我们使用,但是Ext为了更加的方便我们去操作DOM元素,特提供了DomHelper这个辅助的工具类.下面我们就一起学习下DomHelper •首先从API来看,这个类暴露出的public方法并不是特别多.仅仅13个方法而已.如果想生成dom节点,在这里不建议使用原生的方法去生成dom节点,原因是代码量比较大的时候性能比较低.其二是自己组装HTML字符串比较麻烦.在Ext里,DomHelper对象类

Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)

此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ext.Ar

Ext JS学习第十六天 事件机制event(一)

此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件,相信你一定不陌生, 基本事件是什么?就类似于click.keypress.focus.mouseover等这些事件都是浏览器定义好的内置事件,我们直接使用即可.对于高级事件,无非就是自己去设计一个事件,就比如我们实际项目中,通常都伴随些业务逻辑,可能是曾删改查等...这些事件都是非原生事件,也就是浏览器无法自行判别触发的.但是我们确实有需求去实现他们,从而让我们开发起来更爽一些. 首

Ext JS学习第五天 Ext_window组件(一)

此文来记录学习笔记 •第一个组件:Ext.window.Window.对于组件,也就是Ext最吸引开发者的地方,那么我们要真正的使用Ext的组件,首先必须学会阅读API文档. –xtype:组件的别名 –Hierarchy 层次结构 –Inherited mixins 混入的类 –Requires 该组件需要使用的类 –configs:组件的配置信息 –properties:组件的属性 –methods:组件的方法 –events:组件的事件 •window组件常用属性和方法讲解: •confi

Ext JS学习第五天 Ext_window组件(二)

此文用来记录学习笔记 •上一讲我们已经学过了window的使用,那么在这将中,我们将结合然后把Ext中需要注意的地方,以及组建的使用给予介绍.indow做几个Web开发的经典示例. •ExtWeb实战300例: –例1:点击按钮打开一个window,window重复创建的问题 •重点分析:这个问题是初学者经常会犯错的地方,一般来说简单的代码不会产生此问题,但是如果以后代码复杂以后,这个问题如果发生调试起来会非常麻烦!! 附上栗子代码 1 Ext.onReady(function () { 2 3

Ext JS学习第五天 我们所熟悉的javascript(四)

此文用来记录学习笔记: •javascript之对象.面向对象 •可能对于高级语言你可能了解甚至精通OOP面向对象,那么对于javascript你又熟悉多少呢?我们一起来学习javascript面向对象,这样非常有帮助我们理解Ext的基础架构,Ext本身就是一个JS面向对象的框架. •使用json对象(JavaScript Object Notation) –JS对象的特性 –对于js来说json对象非常的重要,我们要学会如何操作json对象 •面向对象的概念 –如何定义一个类.如何实例化对象.

Ext JS学习第三天 我们所熟悉的javascript(二)

•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类型,创建函数一共有三种方式.每种方式他们都会有区别,分别为: –function语句形式 –函数直接量形式 –构造函数形式 •函数中的arguments对象 –argument的作用一:接受函数的实际参数 –argument的作用二:用于做递归操作 栗子代码 1 //Function 函数 2 //

Ext JS学习第二天 我们所熟悉的javascript(一)

此文用来记录学习笔记: •ExtJS是一个强大的javascript框架,如果想真正的掌握ExtJS,那么我们必须要对javascript有一定的认识,所以很有必要静下心来,抱着一本javascript书籍,恶补一番.推荐书籍<javascript高级程序设计>.<javascript设计模式>. •在这里我们学习一下可能你从未接触过的javascript,这些javascript知识是我们要学好ExtJS这个框架非常有必要的.必备的知识.我们需要掌握的内容有: –javascri

Ext JS学习第四天 我们所熟悉的javascript(三)

此文用来记录学习笔记: •javascript之函数 •this关键字的使用 –this关键字总是指向调用者,谁调用函数,this就指向谁 •call.apply的使用 –call和apply主要应用与框架底层,用于绑定函数的执行环境/作用域 •块的概念 –和高级程序语言不同,js里没有块的概念,我们一般用小括号包裹块级作用域 •闭包:掌握闭包必须要深入清楚的概念 –执行环境 –作用域链 –垃圾回收机制 附上栗子 代码 1 // This 关键字 在javascript里的使用 2 //this