我正在尝试在我的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的任何标签。
提前致谢,
答案 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);
原因是,在插入元素之前,属性设置器不起作用。