проблемы додзе с созданием новых узлов dom - PullRequest
2 голосов
/ 07 февраля 2011

Я пытаюсь создать новый узел, который является дочерним по отношению к существующему узлу ul, который у меня есть в документе, но, как бы я ни поступил, похоже, я получаю ошибку.Следующие два способа являются способами, которые я попробовал:

var ul = dojo.query('#highlights ul').0;
dojo.place("<li></li>", ul);

, и я получаю сообщение:

TypeError: refNode.appendChild не является функцией

Это сообщение не имело смысла для меня, потому что при проверке значения ul я обнаружил, что это элемент, и у него уже есть два потомка ... Я продолжил пробовать более программную сборку, разрешенную dojo.create ();через следующие строки:

var ul = dojo.query('#highlights ul').0;
dojo.create("li", null, ul);

и это привело к ошибке:

TypeError: doc не определен

, что действительно сбивает меня с толкуЭлемент ul определен ... Я решил, что должен просто попытаться добавить тот же элемент li в тело документа, поэтому я попытался:

dojo.create("li", null, dojo.body());

, который вернулся без ошибок, но при проверке источника документаничего не изменилось .... Так чего-то мне не хватает?Я предполагаю, что мне не нужны никакие файлы для их использования, это неверное предположение?функция загрузки, которая содержит этот код, находится во внешнем файле, чтобы помочь мне организовать мой код, может ли это быть причиной проблемы?

эта функция вызывается в блоке dojo.addOnLoad для предотвращения проблем при вызове async. Может ли это быть частью проблемы?

Ответы [ 2 ]

3 голосов
/ 19 февраля 2011

Ваша проблема в том, что вы не получаете узел из вашего запроса.

Это должно быть:

var ul = dojo.query('#highlights ul')[0];

не

var ul = dojo.query('#highlights ul').0;

ЯУдивило, что ваш браузер не выдал ошибку в строке dojo.query.

0 голосов
/ 14 декабря 2011

Вероятно, Ксенадор забыл заключить манипуляции с dom в dojo.ready. Документ не определен == Документ не был готов.

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