Extjs操作Dom


1.获取dom 

通过id获取: 
var el = Ext.get("my-div"); 


通过DOM元素引用: 

var el = Ext.get(myDivElement); 

如果此Dom节点只操作一次的话,为了节省内存,建议使用fly()方法,如: 

Ext.fly("my-div").getHeight(); 
2.操作dom 

Ext,get('my-div')得到的是Ext.Element,而不是HTMLElement,所以操作的时候应该: 

       var el=Ext.get('elId'); 

       el.dom.innerHTML='Test'; 

Ext操作样式: 

       Ext.fly('elId').addClass('elCss');    //还可删除,替换样式类 

       Ext.fly('elId').setStyle({ 

       color: 'red', 

       background: 'yellow', 

       font-weight: 'bold' 

       })    //还可以获得属性 

Ext选择器: 

     query:通过选择器选择DOM节点 ,如: 

     Ext.query('div', Ext.getDom('elId'));      

// 这个查询会返回有两个元素的数组因为查询选中对整个文档的所有span标签。 
Ext.query("span"); 
// 这个查询会返回有一个元素的数组因为查询顾及到了foo这个id。 
Ext.query("span", "foo"); 
query的使用方法及介绍" alt=程序代码 src="http://www.sloppy.cn/blog/images/code.gif" real_src="http://www.sloppy.cn/blog/images/code.gif"> 程序代码 
// 这个查询会返回包含我们foo div一个元素的数组! 
Ext.query("#foo"); 
包含与之前例子一样的div但是我们使用了class name来获取*/ 
Ext.query(".foo"); 
// 这会返回一个数组,包含文档的所有元素。 
Ext.query("*"); 
// 这会返回有一个元素的数组,包含p标签的div标签 
Ext.query("div p"); 
// 这会返回有两个元素的数组,包含span标签的div标签 
Ext.query("div span"); 
// 我们检查出任何存在有class属性的元素。 
// 这个查询会返回5个元素的数组。 
Ext.query("*[class]"); // 结果: [body#ext-gen2.ext-gecko, div#bar.foo, span.bar, div#foo.bar, span.bar] 
// 这会得到class等于“bar”的所有元素 
Ext.query("*[class=bar]"); 

// 这会得到class不等于“bar”的所有元素 
Ext.query("*[class!=bar]"); 

// 这会得到class从“b”字头开始的所有元素 
Ext.query("*[class^=b]"); 

//这会得到class由“r”结尾的所有元素 
Ext.query("*[class$=r]"); 

//这会得到在class中抽出“a”字符的所有元素 
Ext.query("*[class*=a]"); 
query的使用方法及介绍" alt=程序代码 src="http://www.sloppy.cn/blog/images/code.gif" real_src="http://www.sloppy.cn/blog/images/code.gif"> 程序代码 
<html> 
<head> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../js/firebug/firebug.js"></script> 
</head> 
<body> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../ext/ext-base.js"></script> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../ext/ext-core.js"></script> 
  <div id="bar" class="foo" style="color:red;"> 
   我是一个div ==> 我的id是: bar, 我的class: foo 
   <span class="bar" style="color:pink;">I'm a span within the div with a foo class</span> 
   <a href="http://www.extjs.com" target="_blank" style="color:yellow;">An ExtJs link with a blank target!</a> 
  </div> 
  <div id="foo" class="bar" style="color:fushia;"> 
   my id: foo, my class: bar 
   <p>I'm a P tag within the foo div</p> 
   <span class="bar" style="color:brown;">I'm a span within the div with a bar class</span> 
   <a href="http://blog.163.com/sir_876/blog/#" style="color:green;">An internal link</a> 
  </div> 
</body> 
</html> 
query的使用方法及介绍" alt=程序代码 src="http://www.sloppy.cn/blog/images/code.gif" real_src="http://www.sloppy.cn/blog/images/code.gif"> 程序代码 
// 获取所以红色的元素 
Ext.query("*{color=red}"); // [div#bar.foo] 

// 获取所有粉红颜色的并且是有红色子元素的元素 
Ext.query("*{color=red} *{color=pink}"); // [span.bar] 

// 获取所有不是红色文字的元素 
Ext.query("*{color!=red}"); // [html, head, script firebug.js, link, body#ext-gen2.ext-gecko, script ext-base.js, script ext-core.js, span.bar, a www.extjs.com, div#foo.bar, p, span.bar, a test.html#] 

// 获取所有颜色属性是从“yel”开始的元素 
Ext.query("*{color^=yel}"); // [a www.extjs.com] 

// 获取所有颜色属性是以“ow”结束的元素 
Ext.query("*{color$=ow}"); // [a www.extjs.com] 

// 获取所有颜色属性包含“ow”字符的元素 
Ext.query("*{color*=ow}"); // [a www.extjs.com, span.bar] 
query的使用方法及介绍" alt=程序代码 src="http://www.sloppy.cn/blog/images/code.gif" real_src="http://www.sloppy.cn/blog/images/code.gif"> 程序代码 
<html> 
<head> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../js/firebug/firebug.js"></script> 
</head> 
<body> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../ext/ext-base.js"></script> 
  <script type="text/javascript" src="http://blog.163.com/sir_876/blog/../ext/ext-core.js"></script> 
  <div id="bar" class="foo" style="color:red; border: 2px dotted red; margin:5px; padding:5px;"> 
   I'm a div ==> my id: bar, my class: foo 
   <span class="bar" style="color:pink;">I'm a span within the div with a foo class</span> 
   <a href="http://www.extjs.com" target="_blank" style="color:yellow;">An ExtJs link with a blank target!</a> 
  </div> 
  <div id="foo" class="bar" style="color:fushia; border: 2px dotted black; margin:5px; padding:5px;"> 
   my id: foo, my class: bar 
   <p>I'm a P tag within the foo div</p> 
   <span class="bar" style="color:brown;">I'm a span within the div with a bar class</span> 
   <a href="http://blog.163.com/sir_876/blog/#" style="color:green;">An internal link</a> 
  </div> 
  <div style="border:2px dotted pink; margin:5px; padding:5px;"> 
   <ul> 
    <li>Some choice #1</li> 
    <li>Some choice #2</li> 
    <li>Some choice #3</li> 
    <li>Some choice #4 with a <a href="http://blog.163.com/sir_876/blog/#">link</a></li> 
   </ul> 
   <table style="border:1px dotted black;"> 
    <tr style="color:pink"> 
     <td>1st row, 1st column</td> 
     <td>1st row, 2nd column</td> 
    </tr> 
    <tr style="color:brown"> 
        <td colspan="2">2nd row, colspanned! </td> 
    </tr> 
    <tr> 
     <td>3rd row, 1st column</td> 
     <td>3rd row, 2nd column</td> 
    </tr> 
   </table> 
  </div> 
  <div style="border:2px dotted red; margin:5px; padding:5px;"> 
   <form> 
    <input id="chked" type="checkbox" checked/><label for="chked">I'm checked</label> 
    <br /><br /> 
    <input id="notChked" type="checkbox" /><label for="notChked">not me brotha!</label> 
   </form> 
  </div> 
</body> 
</html> 
query的使用方法及介绍" alt=程序代码 src="http://www.sloppy.cn/blog/images/code.gif" real_src="http://www.sloppy.cn/blog/images/code.gif"> 程序代码 
Ext.query("span:first-child"); // [span.bar] 

Ext.query("a:last-child") // [a www.extjs.com, a test.html#] 

Ext.query("span:nth-child(2)") // [span.bar] 

Ext.query("tr:nth-child(odd)") // [tr, tr] 

Ext.query("li:nth-child(even)") // [li, li] 


Ext.query("a:only-child") // [a test.html#] 

Ext.query("input:checked") // [input#chked on] 

Ext.query("tr:first") // [tr] 

Ext.query("input:last") // [input#notChked on] 

Ext.query("td:nth(2)") // [td] 

Ext.query("div:contains(within)") // [div#bar.foo, div#foo.bar] 

Ext.query("div:not(form)") [div#bar.foo, div#foo.bar, div] 

Ext.query("div:has(a)") // [div#bar.foo, div#foo.bar, div] 

Ext.query("td:next(td)") // [td, td] 

Ext.query("label:prev(input)") //[label, label]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值