Estoy agregando contenido a mi HTML a través de JS usando innerHTML. Pero ahora, cuando intento acceder a una clase adjunta a ese contenido, obtengo un valor nulo. ¿Cómo accedería a la clase?
fetch(url) .then((response) => { return response.json(); }).then(data => { for (var i=0; i < data['data'].length; i++){ var attributes = data.data[i].attributes, title = attributes.title, descr = attributes.description, author = attributes.author, available = attributes.available, year = attributes.year, id = data.data[i].id; var div = document.createElement("div"); div.innerHTML = `title = ${title}, descr = ${descr}, author = ${author}, available = ${available}, year = ${year} <button type="button" value="${id}" class="delete">delete</button>` document.querySelector('.movieList').appendChild(div) } }); const btns = document.querySelectorAll(".delete"); console.log(btns);Probé .getElementByClassName, pero tampoco funciona :/
Es un problema de tiempo. Debe llamar a querySelectorAll después de agregar los elementos.
Intente poner const btns = document.querySelectorAll(".delete"); justo después de document.querySelector('.movieList').appendChild(div) .
Actualmente, en el momento en que intenta encontrar los botones, todavía no están allí.