Pergunta

Eu estou trabalhando em um addon Firefox e atualmente precisa adicionar dinamicamente menuitems a um elemento menupopup. Eu tentei, basicamente, todas as abordagens sobre o Centro Mozilla Developer e nenhum deles trabalho.

    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);
    }
}

Este código quebra no comando appendChild. Alguma idéia por que?

Foi útil?

Solução

Você está 100% positivo que document.getElementById ( "mainDropdown") está retornando um resultado não-nulo?

Tente dividi-lo em pedaços, e adicionar um pouco de depuração de código a seguir-along:

var dropDown = document.getElementById("mainDropdown");
if(dropDown) {
  alert("dropDown found!");
  dropDown.appendChild(newMenuItem);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top