MutationObserver实例中mutation.type突变类型为attributes时有哪些属性、方法?
2025-09-21 17:14:25 233 分享链接 开发笔记 MutationObserver
在 MutationObserver 中,当 mutation.type === 'attributes' 时,表示监测到了元素属性的变化。与 childList 类型不同(涉及多个节点的添加/移除),attributes 类型的突变只针对单个节点的属性变化,因此获取节点的方式和包含的信息有所不同。
1. 如何获取属性变化的节点?
对于 attributes 类型的突变,直接通过 mutation.target 即可获取发生属性变化的节点。
因为属性变化是单个元素的行为,每次属性突变只会关联一个节点,不存在“多个节点”的情况(与 childList 的 addedNodes/removedNodes 不同)。
示例代码:
const observer = new MutationObserver((mutationsList) => {
for (const mutation of mutationsList) {
if (mutation.type === 'attributes') {
// 获取属性发生变化的节点
const changedNode = mutation.target;
console.log('属性变化的节点:', changedNode);
// 其他关键信息
const changedAttrName = mutation.attributeName; // 变化的属性名(如 "class"、"style")
const oldValue = mutation.oldValue; // 变化前的属性值(需配置 attributeOldValue: true 才会有值)
console.log(`节点 ${changedNode.tagName} 的 ${changedAttrName} 属性发生变化,旧值:${oldValue}`);
}
}
});2. attributes 类型突变的核心属性
attributes 类型的 mutation 对象包含以下关键属性(用于描述属性变化):
target:发生属性变化的 DOM 节点(必选,唯一节点)。attributeName:发生变化的属性名称(字符串,如 "id"、"class"、"data-xxx")。attributeNamespace:如果是 XML 命名空间中的属性(如 SVG 属性),则返回命名空间 URI,HTML 中通常为null。oldValue:属性变化前的值(仅当观察配置中attributeOldValue: true时才会存在)。
3. MutationObserver 监测的突变类型(mutation.type)
mutation.type 有 3 种可能的类型,分别对应不同的 DOM 变化:
childList:节点的子元素发生变化(添加/移除子节点)。attributes:节点的属性发生变化(如class、id、style等属性值改变)。characterData:文本节点的内容发生变化(如文本节点的nodeValue改变)。
注意事项
- 若要监测
attributes类型的变化,需在观察配置中指定attributes: true(默认不监测)。 - 若要限制只监测特定属性(如只监测
class和style),可通过attributeFilter: ['class', 'style']配置。 - 若需要获取属性变化前的旧值,需配置
attributeOldValue: true。
示例观察配置:
observer.observe(targetNode, {
attributes: true, // 开启属性变化监测
attributeFilter: ['class', 'style'], // 只监测这两个属性
attributeOldValue: true // 记录旧值
});
最近更新
- 2026-03-16 18:06
- 故事文本分镜分析与拆解模板
- 2026-03-15 00:37
- 文生图提示词优化技巧:具象化描述、要有画面感
- 2026-03-12 17:04
- 除了国风动漫还有哪些常见的动漫风格适合 AI 绘画?
- 2026-03-12 16:35
- 水墨写实、水墨写意有什么区别,还有哪些水墨家族?
- 2026-03-12 16:22
- 分享5个治愈系漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-12 16:06
- 分享10个宅斗漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-12 15:56
- 分享10个古言漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-10 19:11
- 按人物主体公式写10个与李白同时期不同诗人不同环境的提示词(唯美古风)
- 2026-03-10 18:58
- 即梦唯美古风专用、可直接复制粘贴的常用词库
- 2026-03-10 18:44
- 即梦文生图提示词12套主体完整公式(全品类、无遗漏)