Ext.core.DomHelper 可以透明地操作HTML或者DOM

Ext.core.DomHelper 可以透明地操作HTML或者DOM_第1张图片

<div class="box">
        <div id="myPanelBox" class="w_320"></div>
        <div id="myPanelBoxAfter" class="w_320"></div>
        <div id="insertFirst" class="w_320"></div>
        <div id="upda" class="w_320"></div>
        <div id="zjWz" class="w_320"></div>
</div>
Ext.onReady(function(){
    
    //6.3 Ext.core.DomHelper 可以透明地操作HTML或者DOM
    
    //6.3.1 Ext.core.DomHelper.append() //子节点追加
    var myPanelBox = new Ext.Panel({
        title : 'Ext.core.DomHelper节点追加示例',
        width : '280px',
        height: '300px',
        renderTo : 'myPanelBox',
        html : '<div id="div1" style="height:160px;padding:5px">原文本</div>'
    });
    var newAdd = Ext.core.DomHelper.append(Ext.get("div1"),'<br/><b>新加的文本</b>',false);
    
    //6.3.2 Ext.core.DomHelper.applyStyles() 给指定的元素添加样式
    console.info(Ext.get("div1").dom.outerHTML);//追加样式前
    Ext.core.DomHelper.applyStyles(Ext.get("div1"),"font-size:18px;color:green;");//追加样式
    console.info(Ext.get("div1").dom.outerHTML);//追加样式后
    
    //6.3.3 createTemplate() //创建Ext.Template(Ext标准模板),返回该模板
    //模板HTML代码
    var htmlTemp = '<div name="{id}"><span class="{cls}">{name:trim} {value:ellipsis(10)}</span><br/>第二行文本</div>'; 
    //创建一套模板
    var test = Ext.core.DomHelper.createTemplate(htmlTemp);
    //替换模板追加到div1元素
    test.append(Ext.get("div1"),{
        id : 'myid',
        cls : 'myclass',
        name : 'foo',
        value : 'bar000000025252'
    },true);
    
    //6.3.4 insertAfter将新节点追加到某节点的后面(兄弟节点)
    //6.3.5 insertBefore将新节点追加到某节点的前面(兄弟节点)
    var myPanelBoxAfter = new Ext.Panel({
        title : '新节点追加到某节点的后面',
        width : '280px;',
        height: '300px',
        renderTo : 'myPanelBoxAfter',
        buttons : [{
            text : '后面追加',
            handler : function(){
                Ext.core.DomHelper.insertAfter(Ext.get("div2"),{
                    tag : 'li',
                    id : 'item1',
                    html : '<div>我是追加在后面的div对象</div>'
                });
            }
        },{
            text : '前面追加',
            handler : function(){
                Ext.core.DomHelper.insertBefore(Ext.get("div2"),{
                    tag : 'li',
                    id : 'item2',
                    html : '<div>我是追加在前面的div对象</div>'
                });
            }
        }],
        html : '<div id="div2">我是原来的div1</div>'
    });
    
    //6.3.6 insertFirst()插入第一个子元素
    var insertFirst = new Ext.Panel({
        title : '插入第一个子元素',
        width : '280px;',
        height: '300px',
        renderTo : 'insertFirst',
        buttons : [{
            text : '插入第一个子元素',
            handler : function(){
                Ext.core.DomHelper.insertFirst(Ext.get("firEl"),{
                    tag : 'li',
                    cls : 'myCls',
                    html : '新加的第一个li'
                });
            }
        }],
        html : '<ol id="firEl"><li>原来的li元素</li></ol>'
    });
    
    //6.3.7 insertHtml()给指定的位置插入html
    var zjWz = new Ext.Panel({
        title : '指定位置插入html',
        width : '480px;',
        height: '300px',
        renderTo : 'zjWz',
        buttons : [{
            text : 'beforeBegin位置',//兄弟元素前面
            handler : function(){
                Ext.core.DomHelper.insertHtml('beforeBegin',document.getElementById('liOne'),'新加的beforeBegin位置内容');
            }
        },{
            text : 'afterBegin位置',//子元素的前面
            handler : function(){
                Ext.core.DomHelper.insertHtml('afterBegin',document.getElementById('liOne'),'新加的afterBegin位置内容');
            }
        },{
            text : 'beforeEnd位置',//子元素后面
            handler : function(){
                Ext.core.DomHelper.insertHtml('beforeEnd',document.getElementById('liOne'),'新加的beforeEnd位置内容');
            }
        },{
            text : 'afterEnd位置',
            handler : function(){//兄弟元素后面
                Ext.core.DomHelper.insertHtml('afterEnd',document.getElementById('liOne'),'新加的afterEnd位置内容');
            }
        }],
        html : '<ol id="firEl"><li id="liOne">原来的li元素</li></ol>'
    });
    
    //6.3.8    overwrite() 替换新内容
    var upda = new Ext.Panel({
        title : '替换新内容',
        width : '280px',
        height: '300px',
        renderTo : 'upda',
        buttons: [{
            text :'替换新内容',
            handler : function(){
                Ext.core.DomHelper.overwrite(Ext.get("div4"),'我是新的内容');
            }
        }],
        html : '<div id="div4" style="height:160px;padding:5px">我是原文本</div>'
    });
    
    
});



你可能感兴趣的:(Ext.core.DomHelper 可以透明地操作HTML或者DOM)