From 95d658df1a58ecb823671833836ed5d9a210d5e3 Mon Sep 17 00:00:00 2001 From: Michael Rienstra Date: Mon, 11 Mar 2024 22:36:16 -0700 Subject: [PATCH] Cleaner attributeFilter/attributeOldValue example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simplify example callback. Old version had a typo, ` userStatusChanged(mutation.target.username, mutation.target.status);` ➝ ` userStatusChanged(mutation.oldValue, mutation.target.status);` Old version added in #9737: https://github.com/mdn/content/pull/9737/files#diff-fc20b9f4adbc6723e9fe01425cea6512399d9a9bd69451d25f8fd6f0b8f92788R144-R170 --- .../web/api/mutationobserver/observe/index.md | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/files/en-us/web/api/mutationobserver/observe/index.md b/files/en-us/web/api/mutationobserver/observe/index.md index f7b2aa07fae631b..79e23efd8b8e333 100644 --- a/files/en-us/web/api/mutationobserver/observe/index.md +++ b/files/en-us/web/api/mutationobserver/observe/index.md @@ -130,18 +130,9 @@ for example, reflect changes to users' nicknames, or to mark them as away from k ```js function callback(mutationList) { mutationList.forEach((mutation) => { - switch (mutation.type) { - case "attributes": - switch (mutation.attributeName) { - case "status": - userStatusChanged(mutation.target.username, mutation.target.status); - break; - case "username": - usernameChanged(mutation.oldValue, mutation.target.username); - break; - } - break; - } + const { attributeName, oldValue, target } = mutation; + const newValue = target.getAttribute(attributeName); + console.log(`${attributeName}: ${oldValue} -> ${newValue}`); }); }