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 相关文章推荐
jQuery使用手册之一
Mar 24 Javascript
js左侧多级菜单动态的解决方案
Feb 01 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
在JavaScript并非所有的一切都是对象
Apr 11 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
js初始化验证实例详解
Nov 26 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 Javascript
threejs太阳光与阴影效果实例代码
Apr 05 Javascript
地址栏传递中文参数乱码在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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
javascript折半查找详解
2015/01/26 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
什么是事务?事务有哪些性质?
2012/03/11 面试题
农救科工作职责
2013/11/27 职场文书
消防标语大全
2014/06/07 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
react中的DOM操作实现
2021/06/30 Javascript