ExtJS DOM元素操作经验分享


Posted in Javascript onAugust 28, 2013

记得最早刚接触网页操作DOM元素的时候是做毕业设计的时候,用JQuery操作的。毕业工作后是从事C++方面的编程,两年后,又重新解决了网页编程,不过这次不是用JQuery了,用的是ExtJS。就我经验来看,程序员是一个需要不断学习的行业(这也是为什么周围的同事很多都有白头发的缘故吧)。

好了,今天这篇文章的主题是分享下我使用 ExtJS 操作 DOM 元素的一些经验。
设置元素点击处理函数的方法

var elem = Ext.get('start'); elem.on('click', function(e, t) { 
alert(t.id); 
});

查询多个元素操作
var body = Ext.query('body')[0]; 
body.className = "myStyle";

在实际项目中,由于需要更改一类元素的信息提示样式,如果根据 css 来查找的话,当需要消失操作时,就不能继续根据 css 来查找所有的元素了。这时,同事教会了我一种新的方法,如下:
<span style='display:none;' group='message_group' class='error'></span> 
<span style='display:none;' group='message_group' class='error'></span> // 这样多个同样属于 group 下的元素,可以通过此种方式获取: 
var elemMessageArray = Ext.select("span[group='message_group']"); 
var newCssObj = {}; 
if (isInfo) { 
newCssObj["class"] = "info"; 
} else { 
newCssObj["class"] = "error"; 
} 
// 然后对每个元素重新设置css样式就行了 
elemMessageArray.each( function(el) { 
el.set(newCssObj); 
el.update(text); 
el.show("display"); 
});

元素的显示和隐藏

之前我一般用的方式

Uncompleted = Ext.get('uncompleted'); 
elemUncompleted.setDisplayed(true);

这种方式能够提供动画效果,但是这样的话,如果需要元素消失时:元素虽然消失了,但是同样还是会占用了元素的空间位置,不便布局。后来,同事发现可以采用这种方式,虽然没有了动画效果,但是不会占用元素的位置:
el.show("display"); 
el.hide("display");

刚才发现文档中的说明:

Hide this element - Uses display mode to determine whether to use "display" or "visibility". See setVisible.

仔细阅读文档是程序员必须要学会做的!

Javascript 相关文章推荐
js中将字符串转换成json的三种方式
Jan 12 Javascript
DWR实现模拟Google搜索效果实现原理及代码
Jan 30 Javascript
jQuery点击tr实现checkbox选中的方法
Mar 19 Javascript
jQuery写fadeTo示例代码
Feb 21 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
vue-cli的webpack模板项目配置文件分析
Apr 01 Javascript
Express框架之connect-flash详解
May 31 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 Javascript
vue实现图书管理系统
Dec 29 Vue.js
地址栏传递中文参数乱码在js里用escape转码
Aug 28 #Javascript
在JavaScript中实现类的方式探讨
Aug 28 #Javascript
实用的Jquery选项卡TAB示例代码
Aug 28 #Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 #Javascript
JQuery筛选器全系列介绍
Aug 27 #Javascript
HTML Color Picker(js拾色器效果)
Aug 27 #Javascript
Js中的onblur和onfocus事件应用介绍
Aug 27 #Javascript
You might like
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
使用phpQuery采集网页的方法
2013/11/13 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
理清apply(),call()的区别和关系
2011/08/14 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
实例Python处理XML文件的方法
2015/08/31 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
python如何在循环引用中管理内存
2018/03/20 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
使用tensorflow实现线性回归
2018/09/08 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
python实现XML解析的方法解析
2019/11/16 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python如何绘制日历图和热力图
2020/08/07 Python
SQL中where和having的区别
2012/06/17 面试题
师范应届生教师求职信
2013/11/05 职场文书
教育学专业毕业生的自我评价
2013/11/21 职场文书
法律专业实习鉴定
2013/12/22 职场文书
竞选村长演讲稿
2014/04/28 职场文书
劳动保障个人工作总结
2015/03/04 职场文书