此文同来记录学习笔记
•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