繁体   English   中英

获取错误为:未捕获的TypeError:无法读取null的属性“ parentNode”

[英]Getting error as : Uncaught TypeError: Cannot read property 'parentNode' of null

我正在尝试使用第一个div的ComponentID的引用添加与一个div相邻的新div,我想添加第二个并行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));

请让我知道我做错了什么,或者做这件事的最佳方法是什么

  1. getComponent不是全局函数,而是每个ExtJS容器的方法
  2. someContainer.getComponent将不返回DOMElement,而是Ext.Component或其后代之一

要获取任何ExtJS组件的DOM节点,您可以将组件本身或该组件的ID传递给Ext.getDom(idOrComponent)

示例:NewElement.appendAfter(Ext.getDom(“ userActivityStatusMenu-1110”));;

注意 :完全不建议使用id字段。 而是分配一个自定义的唯一itemId,然后通过Ext.ComponentQuery.query('#itemid')查询组件。

注意2 :要完全符合ExtJS的样式,您完全不应操纵内部HTML结构。 而是将新项目添加到父元素,或者如果您确实需要插入自定义HTML,请修改您在此处尝试修改的任何组件的html属性或XTemplate。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM