Entonces, quiero mostrar algunos detalles cuando hago clic en el botón de detalles. He usado for loop para recorrer los botones, pero hace que cuando haga clic en un solo botón, también se haga clic en el resto de los botones. Entiendo que sucede debido al bucle for. Pero, ¿cómo hago para que se pueda hacer clic en todos los botones usando un bucle pero evito que se haga clic en todos ellos cuando hago clic en uno? Soy súper nuevo en JavaScript.
function showDetails() { for (let i = 0; i < allProducts.length; i++) { const getHiddenDescription = document.getElementsByClassName("details"); getHiddenDescription[i].style = "display: block"; console.log("clicked"); } } const getDetails = document.querySelectorAll(".btn-details"); for (let i = 0; i < allProducts.length; i++) { getDetails[i].addEventListener("click", showDetails); }Puede seleccionar el botón que activó el detector de eventos usando un parámetro opcional disponible en la devolución de llamada del detector de eventos, a menudo llamado event , así.
function showDetails(event) { clickedButton = event.currentTarget; clickedbutton.style = "display: block"; }