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 对象与DOM对象之两者相互间的转换
Apr 27 Javascript
JS 面向对象之神奇的prototype
Feb 26 Javascript
JavaScript 事件绑定及深入
Apr 13 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
JavaScript Promise 用法
Jun 14 Javascript
浅谈jquery页面初始化的4种方式
Nov 27 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
原生JS进行前后端同构
Apr 22 Javascript
基于Vue实现电商SKU组合算法问题
May 29 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
vue-cli4.5.x快速搭建项目
May 30 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 注册时输入信息验证器的实现详解
2013/07/05 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
jquery实现的图片点击滚动效果
2014/04/29 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
python删除服务器文件代码示例
2018/02/09 Python
Python unittest单元测试框架总结
2018/09/08 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
python使用requests.session模拟登录
2019/08/09 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
Java servlet面试题
2012/03/04 面试题
高级文秘工作总结的自我评价
2013/09/28 职场文书
关于迟到的检讨书
2014/01/26 职场文书
法定代表人授权委托书
2014/04/04 职场文书
代办委托书怎样写
2014/04/08 职场文书
唐山大地震的观后感
2015/06/05 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript