MutationObserver et attribut data-*

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
annasm
Messages : 1
Enregistré le : 26 juin 2025, 11:59

MutationObserver et attribut data-*

Message par annasm » 11 juil. 2026, 11:50

Bonjour, Retro Bowl

Je travaille sur une page où plusieurs éléments HTML sont mis à jour en modifiant uniquement leurs attributs data-* via JavaScript.

J'utilise un MutationObserver avec l'option attributes: true, mais je voudrais déclencher une fonction uniquement lorsque la valeur d'un attribut précis (par exemple data-status) change réellement, et pas lorsque d'autres attributs sont modifiés.

Existe-t-il une manière propre de filtrer directement ce type de changement dans le MutationObserver, ou faut-il systématiquement comparer l'ancienne et la nouvelle valeur dans le callback ? Si vous avez un exemple performant pour une page contenant plusieurs centaines d'éléments observés, je suis preneur.

Merci d'avance pour vos conseils !

drakrou15
Messages : 1
Enregistré le : 24 juil. 2026, 03:31

Re: MutationObserver et attribut data-*

Message par drakrou15 » 24 juil. 2026, 03:32

Oui, tu peux utiliser attributeFilter pour ne surveiller que data-status. Par exemple : observer.observe(node, { attributes: true, attributeFilter: ['data-status'], attributeOldValue: true });. Ensuite, dans le callback, il reste utile de comparer oldValue avec la valeur actuelle pour éviter des traitements inutiles si le script réaffecte la même valeur.

vladislavkoval
Messages : 1
Enregistré le : Aujourd’hui, 16:27

Re: MutationObserver et attribut data-*

Message par vladislavkoval » il y a 51 minutes

While searching for a Bitcoin casino Australia, I compared several gaming clubs before making my decision. Playing from Australia, I wanted a platform that offered a smooth interface, a wide variety of games, and reliable performance every time I logged in. After testing a few different options, I found one that consistently provided an enjoyable experience and has remained my preferred gaming club ever since.

Répondre