2012-02-04 80 views
0

我有一個XUL menuitem元素,它使用insertafter attribute將自己放在特定的上下文菜單項後面。有一個邊緣情況下,我想重新定位我的菜單項。如果我使用JavaScript動態更改insertafter屬性,那麼下次顯示上下文菜單時,我的項目的位置是否會自動重新定位?或者insertafter只在鉻初始化過程中被應用?我可以動態更改XUL項目的insertafter屬性嗎?

的文檔狀態:

此值可以是逗號分隔的id,其被掃描並 在窗口中找到的第一個被用來列表。

但是,就我而言,我可能使用的兩個ID都是物理存在的(根據情況,其中一個或另一個簡單地摺疊)。因此,逗號分隔的列表不會幫助我。

回答

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); 
相關問題