用data-module替代class/id锚定模块可解决JS查询失效、样式错位等问题,因其不参与样式、不影响可访问性、不随视觉重命名变更;需配合语义标签和<template>实现高可维护性。
JS 查询失效、样式错位、改一个 class 全站崩——根本原因不是代码写得慢,而是锚点不稳定。data-module 是专为模块边界设计的属性,不参与样式、不影响可访问性,也不随视觉重命名而变。
常见错误现象:$('.header-nav') 在新设计中 class 改成 top-bar-menu,脚本静默失败;document.getElementById('product-list') 在循环渲染时只取到第一个节点。
data-module="header"、data-module="product-grid",版本号可同步加 data-version="2.3"
document.querySelectorAll('[data-module="header"]') 查询,CI 流程可校验版本是否匹配文档data-module 值里塞动态内容(如 data-module="product-{{id}}"),它代表抽象模块类型,不是实例标识把