es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo escribir correctamente un querySelector

Mi js completo:

navHighlighter() {

const sections = document.querySelectorAll(“section[id]”);
let scrollY = window.pageYOffset;

sections.forEach(current => {
const sectionHeight = current.clientHeight;

const sectionTop = (current.getBoundingClientRect().top + window.pageYOffset) – 50;
var sectionId = current.getAttribute(“id”);

var indicator = document.querySelector(“.indexing a[(click)=jump(‘” + sectionId + “‘)]”);

if (scrollY > sectionTop && scrollY <= sectionTop + sectionHeight) {
indicator?.classList.add(‘active’);
} else {
indicator?.classList.remove(‘active’);
}
});
}

Este es el html que quiero escribir en queryselector:

Y debajo está el selector incorrecto que escribí:

var indicator = document.querySelector(“.indexing a[(click)=jump(‘” + sectionId + “‘)]”);

Labeled es el sectionId.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para escribir el selector correcto, es necesario utilizar comillas invertidas (`) alrededor de la variable sectionId dentro de la función querySelector y reemplazar los paréntesis alrededor del evento click con corchetes ([]). El selector correcto debería lucir como esto:

    var indicator = document.querySelector(`.indexing a[onclick*='jump("${sectionId}")']`);
    

    Este selector busca una etiqueta de ancla (a) dentro de un elemento con clase “indexing”, donde el atributo onclick contiene la cadena “jump” seguida del valor de sectionId. El operador *= se utiliza para buscar cualquier parte del atributo onclick que contenga el valor.

Comments are closed.