怎样修改Ext.Element对象的样式

jxSR77XN75
2013-10-10 · TA获得超过5730个赞
知道小有建树答主
回答量:947
采纳率:0%
帮助的人:2189万
展开全部
譬如说设置 textfield 的背景色等等。如下面这段代码:items : [{xtype : 'label', text : 'Logicform', width : 135, x : 30, y : 30},{xtype : 'textfield', id : 'logicformField', readOnly : true, style : 'background:lightgray', x : 130, y : 30, width : 400}] 这一句: style: 'background:lightgray',意思是设置一个textfield 对象的样式中的背景色为浅灰色。这样写在IE8,Firefox,Chrome里面运行都是没有错的。不幸的是这个世界上有很多人还在执着地使用着微软早期的浏览器。而你的这段脚本程序,运行在IE6,IE7下面时,就会报出这样的脚本错误:Invalid property value。 这是因为IE6和IE7 的style 中关于颜色的赋值一定要写成 #?的形式,否则会当作非法的属性值,而不能解析。比如例子里的lightgray就最好写成 #D3D3D3: style : 'background:#D3D3D3', 关于颜色的格式,网上到处都是,如果需要查找,google一下就可以了。这里就不详细说了。 下面的一个话题:动态的改变style。 style是一个HTML 中 dom 对象的属性,以前没有Extjs,没有jQuery的时候,写javascript改变style,就是这样写的: document.getElementById('componentID').style.background = #D3D3D3; 注意了,这里getElementById()取回的是一个dom对象,而Ext.getCmp(),或者Ext.ComponentMgr.get(),Ext.get()都是取回一个Ext.Element对象。这两者是不一样的东西。这个Ext.Element对象是Extjs框架将dom对象重新封装过的。所以我们要取回最初的那个dom对象,必须剥去它的Extjs外皮。你可以通过如下调用方法取回它的dom对象: var componentDom = Ext.getCmp('ComponentID').getEl().dom;这句看上去罗嗦了点,那么最后我推荐一个简洁明快的方法:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式