Básicamente, estoy tratando de pasar por una matriz de matrices y crear un nuevo elemento div para cada elemento de la matriz en la matriz y luego agregar algo de código al nuevo elemento div creado. Recibo el mensaje de error Cannot set properties of null (setting 'innerHTML') que entiendo que significa que JS no reconoce el elemento div cuando se ejecuta, pero seguramente si lo acabo de crear en la línea antes de que debería existir en el momento en que se ejecuta la línea. Ejemplo de código a continuación:
for (var elem in ArrayOfArray){ document.createElement('div').setAttribute('id', elem[1]); document.getElementById(elem[1]).innerHTML = "hello (or some other code)"; }¿Alguien sabe por qué esto no funciona? AIT
document.getElementById busca en el documento un elemento con un ID dado.
Creó un elemento, le asignó un atributo y luego lo descartó. No ha guardado ninguna referencia a él y no lo ha agregado al documento.
No está en el documento para que getElementById lo encuentre.
const element = document.createElement('div'); element.setAttribute('id', elem[1]); document.body.appendChild(element); document.getElementById(elem[1]).innerHTML = "hello (or some other code)";Pero dado que necesita mantener una referencia al elemento para hacerlo, puede omitir el manejo de ID por completo.
const element = document.createElement('div'); document.body.appendChild(element); element.innerHTML = "hello (or some other code)";