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图片轮播的具体实现
Sep 11 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
javascript中setAttribute()函数使用方法及兼容性
Jul 19 Javascript
微信小程序 window_x64环境搭建
Sep 30 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
Dec 08 Javascript
详解vue-router 2.0 常用基础知识点之router-link
May 10 Javascript
详解Angular路由 ng-route和ui-router的区别
May 22 Javascript
手把手教你使用vue-cli脚手架(图文解析)
Nov 08 Javascript
vue做移动端适配最佳解决方案(亲测有效)
Sep 04 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 Javascript
vue 实现LED数字时钟效果(开箱即用)
Dec 08 Javascript
解决vue中el-tab-pane切换的问题
Jul 19 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
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
Bootstrap Table使用整理(三)
2017/06/09 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
python中nan与inf转为特定数字方法示例
2017/05/11 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Python中and和or如何使用
2020/05/28 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
2020/07/01 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
2014年精神文明建设工作总结
2014/11/19 职场文书
作弊检讨书范文
2015/05/06 职场文书
校长新学期致辞
2015/07/30 职场文书
我的生日感言
2015/08/03 职场文书
python某漫画app逆向
2021/03/31 Python
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
常用的Python代码调试工具总结
2021/06/23 Python