动态创建的LABEL元素未显示在XUL应用程序中

时间:2009-10-31 03:07:51

标签: xul xulrunner

我正在尝试在我的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 个答案:

答案 0 :(得分: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);

原因是,在插入元素之前,属性设置器不起作用。