Динамически созданный элемент LABEL не отображается в приложении XUL - PullRequest
0 голосов
/ 31 октября 2009

Я пытаюсь динамически создать набор меток в моем приложении XUL Runner.У меня есть HBox примерно так:

<hbox class="upload-attachments"></hbox>

Если я вручную назначу элемент метки ему так:

<hbox class="upload-attachments"><label value="test" /></hbox>

Он работает нормально.Кроме того, когда я запрашиваю объект в Javascript, я могу получить доступ к метке теста.

Когда я пытаюсь создать новые элементы метки программно, это дает сбой.Это примерно то, что я делаю:

var attachments = view.query_first('.upload-attachments');
var label = view.ownerDocument.createElement('label');
label.value = "Some value."
attachments.appendChild(label);
var childCount = attachments.childNodes.length;

Метод query_first - это просто вызов механизма Sly Query Selector, и в других случаях он работает нормально.Значение childCount обновляется соответствующим образом, и, как я уже сказал, я могу получить доступ к любым меткам, которые я добавляю в hbox, и манипулировать ими.

Заранее спасибо,

1 Ответ

1 голос
/ 31 октября 2009

Либо добавьте его с установленным атрибутом, либо установите свойство после вставки:

var label = view.ownerDocument.createElement('label');
attachments.appendChild(label);
label.value = "Some value."

- или -

var label = view.ownerDocument.createElement('label');
label.setAttribute("value", "Some value.");
attachments.appendChild(label);

Причина в том, что до вставки элемента установщики свойств не работают.

...