您的位置:首页 > Web前端 > HTML

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

2016-04-25 00:00 489 查看
摘要: Ext.core.DomHelper 可以透明地操作HTML或者DOM



<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>'
});

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息