我正在尝试添加一个div旁边的新div与第一个div的ComponentID的引用我要添加第二个并行div 像:
<div>
<div id="userActivityStatusMenu-1110">Neighbor 1</div>
// want new div here
</div>
以下是我正在尝试的脚本:
/* Adds Element BEFORE NeighborElement */
Element.prototype.appendBefore = function (element) {
element.parentNode.insertBefore(this, element);
}, false;
/* Adds Element AFTER NeighborElement */
Element.prototype.appendAfter = function (element) {
element.parentNode.insertBefore(this, element.nextSibling);
}, false;
/* Typical Creation and Setup A New Orphaned Element Object */
var NewElement = document.createElement('div');
NewElement.innerHTML = 'This is new element';
NewElement.id = 'NewElement';
/* Add NewElement BEFORE -OR- AFTER Using the Aforementioned Prototypes */
NewElement.appendAfter(getComponent(Ext.getCmp("userActivityStatusMenu-1110").itemId));
请让我知道我做错了什么,或者最好的方法是什么
答案 0 :(得分:1)
要获取任何ExtJS组件的DOM节点,您可以将组件本身或组件的id传递给Ext.getDom(idOrComponent)
实施例: NewElement.appendAfter(Ext.getDom(&#34; userActivityStatusMenu-1110&#34));
注意:建议不要使用 id 字段。而是分配自定义的唯一 itemId ,然后通过Ext.ComponentQuery.query('#itemid')
查询组件。
Note2 :为了完全符合ExtJS的风格,你根本不应该操纵内部HTML结构。而是将新项添加到父元素,或者如果您确实需要插入自定义HTML,请修改您在此处尝试修改的任何组件的html属性或XTemplate。