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;
这句看上去罗嗦了点,那么最后我推荐一个简洁明快的方法:
- var componentDom = Ext.getDom('componentID');
JS设置组件样式
var browser=navigator.appName;
if(browser=='Netscape'){ //兼容性google浏览器
document.getElementById('weekTimes').setAttribute('style','margin-left:18px;width:200');
document.getElementById('timeInnerPanel').firstChild.firstChild.setAttribute('style','margin: 0px 0px 0px 42px;');
}