Luego de que el usuario de tu videojuego haya seleccionado un mokepon para jugar, la lógica interna de la aplicación requiere capturar los ataques del personaje y renderizarlos hacia el HTML para que el usuario pueda interactuar con los botones.
Renderizado de los ataques
Comienza creando un <div> en el HTML y seleccionando el mismo desde el Javascript donde renderizaremos cada botón de ataque del mokepon seleccionado.
<div id="contenedorAtaques" class="tarjetas-ataques">
</div>
const contenedorAtaques = document.getElementById('contenedorAtaques');
Luego de haber capturado los ataques del mokepón seleccionado en la función extraerAtaques(), envía esta información a una nueva función llamada mostrarAtaques() donde crearemos el código HTML.
function extraerAtaques(mascotaJugador) {
mostrarAtaques(ataques)
}
function mostrarAtaques(ataques) {
ataques.forEach((ataque) => {
ataquesMokepon = `
<button id=${ataque.id} class="boton-de-ataque">
${ataque.nombre}
</button>
`;
contenedorAtaques.innerHTML += ataquesMokepon;
});
botonFuego = document.getElementById('boton-fuego');
botonAgua = document.getElementById('boton-agua');
botonTierra = document.getElementById('boton-tierra');
botonFuego.addEventListener('click', ataqueFuego);
botonAgua.addEventListener('click', ataqueAgua);
botonTierra.addEventListener('click', ataqueTierra);
}
Al crear el código nuevo código HTML para cada botón de los ataques del mokepon, tienes que tener en cuenta que debes seleccionar los mismos con document.getElementById() y posteriormente agregarle el evento al hacer clic con addEventListener().
Asegúrate también de borrar el código que tu aplicación ya no necesite, dado que ahora estamos creando código HTML dinámicamente. A diferencia de crear el código de forma estática, es importante evaluar el momento de captura de los elementos HTML y su posterior asignación de eventos.
Contribución creada por: Kevin Fiorentino (Platzi Contributor)