2009-10-31 2 views
0

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

<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 запросов Selector и в других случаях, работает отлично. Значение childCount обновляется соответствующим образом, и, как я уже сказал, я могу получить доступ и манипулировать любыми ярлыками, которые я вручную добавляю в hbox.

Спасибо заранее,

ответ

1

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

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); 

Аргументация в том, что , прежде чем элемент был вставлен, средства настройки свойств не работают.