// private
afterRender : function(){
if(this.floating && !this.hidden && !this.initHidden){
this.el.show();
}
if(this.title){
this.setTitle(this.title);
}
this.setAutoScroll();
if(this.html){
this.body.update(Ext.isObject(this.html) ?
Ext.DomHelper.markup(this.html) :
this.html);
delete this.html;//看这里
}
这个是Panel定义的源码,可以看到Panel在渲染后,把html属性被body.update使用了,然后该属性就被删除了。因此你定义出来的panel对象无法通过点属性来获取html你定义的内容了。
所以我们只能通过body来获取了。这样就行了:
var tb = new Ext.Panel({
html:'12345',
tbar:[{
text:"点击获取",
handler : function() {
alert(tb.body.dom.innerHTML);
}
}]
});
你试试吧~~~
panel.body.dom.innerHTML
Ext.Msg.alert('htmlText',panel.body.dom.innerHTML);