Pregunta

Estoy trabajando en un complemento de Firefox y actualmente necesito agregar dinámicamente elementos de menú a un elemento de menú emergente. He probado básicamente todos los enfoques en el Centro de desarrolladores de Mozilla y ninguno de ellos funciona.

    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 se rompe en el comando appendChild. ¿Alguna idea de por qué?

¿Fue útil?

Solución

¿Está 100% seguro de que document.getElementById (" mainDropdown ") está devolviendo un resultado no nulo?

Intente dividirlo en pedazos y agregue un código de depuración para seguir:

var dropDown = document.getElementById("mainDropdown");
if(dropDown) {
  alert("dropDown found!");
  dropDown.appendChild(newMenuItem);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top