ingrese la descripción de la imagen aquí
Como se muestra en la imagen de arriba, cuando el valor del primer elemento es 7, si hago clic, quiero generar 7 en console.log.
var container1 = document.createElement('div') container1.className = 'container1'; document.body.appendChild(container1); for(var index = 0;index < 20 ; index++){ var aa = document.createElement('span') aa.innerHTML = card1[index]; container1.appendChild(aa); aa.className = 'card'+index; aa.addEventListener('click',clickEvent) } function clickEvent(){ //What code should I use? }¿cómo estás?
Prueba esto:
function clickEvent(evt){ console.log(evt.target.innerHTML) }Si también proporcionó HTML y CSS , será una respuesta directa a su necesidad, pero se puede hacer un enfoque similar usando this palabra clave que imprime HTML innerHTML de cada etiqueta de span al hacer clic.
function paret(reed) { console.log(reed.innerHTML) } div { display: flex; justify-content: space-between; } span { cursor: pointer; display: flex; align-items: center; justify-content: center; width: 80px; height: 160px; background-color: red } <div> <span onclick="paret(this)">7</span> <span onclick="paret(this)">17</span> <span onclick="paret(this)">9</span> <span onclick="paret(this)">8</span> <span onclick="paret(this)">5</span> </div>Para esto, podría usar la propiedad textContent de los elementos HTML en JavaScript. Para completar esto, también deberá pasar el evento a su función clickEvent. Los eventos de clic tienen un event.target , que es el nodo HTML en el que se hizo clic. El evento
var container1 = document.createElement('div') container1.className = 'container1'; document.body.appendChild(container1); for(var index = 0;index < 20 ; index++){ var aa = document.createElement('span') aa.innerHTML = card1[index]; container1.appendChild(aa); aa.className = 'card'+index; aa.addEventListener('click',clickEvent) } function clickEvent(event){ //What code should I use? let clickedBox = event.target; console.log(clickedBox.textContent); }Hasta donde yo sé, esto debería funcionar como lo pretendes. Últimamente no he trabajado con el front-end de JS, así que corrígeme si me equivoco.