javascript - 动态创建 DOM 内容

标签 javascript firefox-addon xul

我只是在玩一些 Firefox 扩展程序,我遇到了一个问题。假设我想创建一种网格,每行包含很多元素。 如果我想动态地将 x 行添加到面板,我认为我必须这样做:

for(var i=0; i<x; i++) {
   tempButton = document.createElement("button");
   tempLabel = document.createElement("label");
   tempWhatever = document.createElement("button");
   ...
   tempButton.setAttribute("label", "YippeYeah");
   ...
   container.appendChild(tempButton);
   container.appendChild(tempLabel);
   container.appendChild(tempWhatever);
}

是不是有点痛?考虑嵌套的 vbox、hbox、样式...来格式化所有元素以获得良好的布局?

是否可以创建一个用户定义的 .js 对象,其中包含按钮、标签和 Whatever 的元素信息?然后关联一个"template"-.xul 文件以便与每个网格行重用,并且只做一个

for(var i=0; i<x; i++) {
   container.appendChild(myObjArray[i]);
}

减少构建网格的痛苦。

这有意义还是我错了? 问候, 亚历克斯

最佳答案

是的,使用 DOM 方法动态创建接口(interface)有点痛苦。您可能想使用 XBL相反。

关于javascript - 动态创建 DOM 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379816/

相关文章:

使用 Selenium Web 驱动程序从网站获取隐藏文本值的 Javascript

javascript - 参数无效 - Edge 浏览器中的 Google map 错误

javascript - 如何在表单的选择字段 onChange 中传递对象值(使用 React,不使用 Redux)

javascript - Firefox 插件 sdk 在启动/部署时检查浏览器键绑定(bind)并警告它们是否被占用

c++ - 从 mozilla.rsa 文件中解析插件 ID

javascript - Firefox WebExtension 设置页面

javascript - xul/xpcom 将图像从字符串复制到剪贴板

javascript - Visual Studio XML 架构注释(与 :htmlequivalent) 相比

firefox-addon - Firefox 插件中的 Ajax

javascript - FireFox 工具栏 在新标签页中打开窗口