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

178
Vistas
Find exact Position in NodeList on MouseEvent

Seems obvious but can't find a solution.I have a couple of Div's with the same class and when you hover over them I want to know which one you exactly hovered, as a NodeList Position Value.

HTML

<div id="summary">

    <div class="articles"></div>
    <div class="articles"></div>
    <div class="articles"></div>
    <div class="articles"></div>
    <div class="articles"></div>
    <div class="articles"></div>
    <div class="articles"></div>

</div>

JS

let articles = document.querySelectorAll(".articles");

    for (let x of articles) {

        x.addEventListener('mouseenter', (e) => {

            p = Exact Position in Nodelist??
    
            console.log(articles[p]);

        });
    }

Thank you.

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

0

Here is a simple solution I came up with:

let articles = document.querySelectorAll(".articles");

for (let [position, article] of articles.entries()) {
 
  article.addEventListener('mouseenter', (e) => {
    
    console.log(position) // Exact Position in Nodelist
    console.log(articles[position]) // The Node hovered

  });

}

Hope my help is useful.

about 4 years ago · Juan Pablo Isaza Denunciar

0

You can use mouseover on the parent, this way you will only add one listener:

let articles = document.querySelectorAll(".articles");
var summary = document.getElementById("summary");
summary.addEventListener("mouseover", (e) => {
  if (e.target.classList.contains("articles")) {
    let position = Array.from(e.target.parentNode.children).indexOf(e.target);
    console.log(position,articles[position]);
  }
});
.articles {
  width: 100px;
  height: 100px;
  border: solid 1px red;
}
<div id="summary">

  <div class="articles">a</div>
  <div class="articles">b</div>
  <div class="articles">c</div>
  <div class="articles">d</div>
  <div class="articles">e</div>
  <div class="articles">f</div>
  <div class="articles">g</div>

</div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

You should take the parent node's children and find its index like below.

Try this

let articles = document.querySelectorAll(".articles");

for (let x of articles) {
  x.addEventListener("mouseenter", (e) => {
    console.log([...e.target.parentNode.children].indexOf(e.target));
  });
}

Code sandbox => https://codesandbox.io/s/young-frost-x6u1x?file=/src/index.js

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