2009-06-18 64 views
5

我正在使用Firefox插件,而我目前需要動態地將menuitems添加到menupopup元素。我基本上已經嘗試了Mozilla開發人員中心的所有方法,但都沒有工作。appendChild在XUL Firefox插件中打破

function populateDropdown() { 
    var counter = 0; 
    for (var key in services) { 
     var newMenuItem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "menuitem"); 
     newMenuItem.setAttribute("label", services[key]['title']) 

     document.getElementById("mainDropdown").appendChild(newMenuItem); 
    } 
} 

此代碼在appendChild命令處中斷。任何想法爲什麼?

+1

得到一個錯誤信息? – geowa4 2009-06-18 14:32:35

回答

5

你是否100%肯定document.getElementById(「mainDropdown」)返回一個非空結果?

試着將它分解成塊,並添加一些調試代碼後續沿:

var dropDown = document.getElementById("mainDropdown"); 
if(dropDown) { 
    alert("dropDown found!"); 
    dropDown.appendChild(newMenuItem); 
}