0

我正在尝试在我的 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 的任何标签。

提前致谢,

4

1 回答 1

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

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

于 2009-10-31T03:11:32.410 回答