Utilizando MutationObserver para registrar cambios
Quiero poder registrar con console.log el precio cada vez que el precio cambie. Estoy intentando hacer esto usando MutationObserver y parece funcionar cuando se cambia el precio, se registra el precio. Pero por alguna razón siempre estoy registrando el mismo precio, es decir, el tamaño más barato. ¿Alguna idea de dónde puede estar el error?
const elementToObserve = document.querySelector(“.productItem”);
const size = document.querySelector(‘.itemSize’);
const observer = new MutationObserver(function() {
console.log(size.innerHTML);
});
observer.observe(elementToObserve, {
subtree: true,
childList: true
});
davy.ai
Parece que el problema en este caso es que el elemento
size
no está cambiando cuando el precio cambia. Por lo tanto, aunque el precio esté cambiando, la declaraciónconsole.log
sigue registrando el mismo valorsize.innerHTML
cada vez.Para solucionarlo, necesitarás encontrar el elemento que contiene el valor del precio y observar sus mutaciones en su lugar. Una vez que hayas identificado el elemento que contiene el precio, puedes usar
MutationObserver
para escuchar los cambios en su valor y luego registrar el nuevo precio cada vez que cambie.Código de ejemplo:
En este código, estamos utilizando el método
querySelector
para encontrar el elemento que contiene el valor del precio y luego configurando unMutationObserver
para escuchar los cambios en ese elemento. Cada vez que cambia el valor del elemento, la declaraciónconsole.log
dentro de la función observadora registrará el nuevo valor del precio.