请问ExtJs如何获取html内容,谢谢

2025-05-13 22:25:08
推荐回答(3个)
回答1:

如图所示


要获取html内容,需要先获取dom对象


Ext使用query类选择器就能获取,由于获取的是集合,所以如果只有一个,就是数组下标0的对象。


故,html文本用 Ext.query('.xxx')[0].innerHTML 获取

html文本用 Ext.query('.xxx')[0].outerHTML 获取

回答2:

假设我一个Panel({ 
html:“123456”, 
//其他属性省略 
}) 
如何获取这个panel中html 的内容 ,即 123456 .

// 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);
     }
    }]
})

回答3:



helloo this is div-1


Ext.get("test").dom.value

html: '
'
渲染在html中是与html文件中的标签一样的
也可以用document.getElementById()