Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

356
Vistas
How can i get a index value of a div just clicking on it?

I'm trying to change the class of an specific div that i click, using this:

let divs = document.querySelectorAll('.x');

function idk(){
  Array.prototype.forEach.call(divs, function(element) {
    element.classList.add('y');
    Array.prototype.forEach.call(divs, function(element) {
      element.classList.remove('x');  
    });
  });
}
.y{
   transition: 0.5s;
   transform: rotateY(180deg);
}
<div id="d1">
   <div id="c1" class="x" onclick="idk()">a</div>
   <div id="c2" class="x" onclick="idk()">b</div>
   <div id="c3" class="x" onclick="idk()">c</div>
</div>

This code above works well, but only in all divs at the same time, not with only that I've clicked

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

There is no need for id s and you should not use inline event attributes like onclick and instead separate your JavaScript from your HTML and use the standard .addEventListener() instead.

Also, Array.prototype.forEach() is not needed since .forEach is compatible with the list of nodes returned by querySelectorAll() .

To get the index, simply use the index parameter that .forEach() exposes:

 document.querySelectorAll(".x").forEach(function(element, index){ element.addEventListener("click", function(event){ console.log(index); }); });
 <div class="x">a</div> <div class="x">b</div> <div class="x">c</div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

about 4 years ago · Juan Pablo Isaza Denunciar

0

You could pass in the div ID to the test function like

<div id="c3" class="x" onclick="idk('c3')"></div>

then your test function could look like:

function test(id){
  let foundDiv = document.getElementById(d)
  foundDiv.classList.add('y');
  foundDiv.classList.remove('x');
}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda