我可以动态更改XUL项的insertafter属性吗?

时间:2012-02-04 03:00:06

标签: firefox-addon xul

我有一个XUL menuitem元素,它使用insertafter attribute将自己定位在特定的上下文菜单项后面。有一个边缘情况我想重新定位我的菜单项。如果我使用JavaScript动态更改insertafter属性,我的项目的位置会在下次显示上下文菜单时自动重新定位吗?或者insertafter仅在Chrome初始化期间应用?

文档说明:

  

此值可能是以逗号分隔的ID列表,可以扫描这些值   使用窗口中找到的第一个。

但是,在我的情况下,我可以使用的两个ID都是物理存在的(根据具体情况,一个或另一个只是折叠了)。因此,以逗号分隔的列表对我没有帮助。

1 个答案:

答案 0 :(得分:1)

不,在窗口加载时应用叠加层 - 在此之后更改insertafter属性根本不会执行任何操作,此属性没有特殊含义。您应该使用通常的DOM方法,这些方法:

var myElement = document.getElementById("my-element");
var insertAfter = document.getElementById("element-insert-after");
if (myElement && insertAfter)
  insertAfter.parentNode.insertBefore(myElement, insertAfter.nextSibling);