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 相关文章推荐
一个不错的用JavaScript实现的UBB编码函数
Mar 09 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 Javascript
基于JavaScript实现随机颜色输入框
Dec 10 Javascript
canvas红包照片实例分享
Feb 28 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
May 23 Javascript
js实现图片放大展示效果
Aug 30 Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 Javascript
JavaScript 面向对象基础简单示例
Oct 02 Javascript
JavaScript实现移动端弹窗后禁止滚动
May 25 Javascript
vue如何使用rem适配
Feb 06 Vue.js
ztree+ajax实现文件树下载功能
May 18 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
PHP技术开发技巧分享
2010/03/23 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
高二美术教学反思
2014/01/14 职场文书
台风停课通知
2015/04/24 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
python井字棋游戏实现人机对战
2022/04/28 Python