Получение ошибки как: Uncaught TypeError: Невозможно прочитать свойство 'parentNode' из null - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь добавить новый div рядом с одним div со ссылкой на ComponentID первого 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 Ответ

0 голосов
/ 06 июня 2018
  1. getComponent - это не глобальная функция, а метод каждого контейнера ExtJS
  2. someContainer.getComponent не будет возвращать DOMElement, но Ext.Component или одного из его потомков

Чтобы получить DOM-узел любого компонента ExtJS, вы можете либо передать сам компонент или идентификатор компонента в Ext.getDom (idOrComponent)

Пример: NewElement.appendAfter (Ext.getDom ("userActivityStatusMenu-1110"));

Примечание : вообще не рекомендуется работать с полем id .Вместо этого назначьте пользовательский уникальный itemId и запросите компонент с помощью Ext.ComponentQuery.query('#itemid').

Note2 : чтобы полностью соответствовать стилю ExtJS, вам следуетне манипулировать внутренней структурой HTML вообще.Вместо этого либо добавьте новые элементы в родительский элемент, либо, если вам действительно нужно вставить пользовательский HTML, измените свойство html или XTemplate любого компонента, который вы пытаетесь изменить здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...