我有一个XUL menuitem
元素,它使用insertafter attribute将自己定位在特定的上下文菜单项后面。有一个边缘情况我想重新定位我的菜单项。如果我使用JavaScript动态更改insertafter
属性,我的项目的位置会在下次显示上下文菜单时自动重新定位吗?或者insertafter
仅在Chrome初始化期间应用?
文档说明:
此值可能是以逗号分隔的ID列表,可以扫描这些值 使用窗口中找到的第一个。
但是,在我的情况下,我可以使用的两个ID都是物理存在的(根据具体情况,一个或另一个只是折叠了)。因此,以逗号分隔的列表对我没有帮助。
答案 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);