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.
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:
Este selector busca una etiqueta de ancla (
a
) dentro de un elemento con clase “indexing”, donde el atributoonclick
contiene la cadena “jump” seguida del valor desectionId
. El operador*=
se utiliza para buscar cualquier parte del atributoonclick
que contenga el valor.