如题,偶然发现掘金页面上的部分内容,嵌套了<a>。
这样子的DOM结构就会导致DOM在serialize跟deserialize的时候出现不一致的行为。
const parser = new DOMParser()
const dom = parser.parseFromString($0.outerHTML)
dom.outerHTML === $0.outerHTML // false
并且本身nested link结构在w3 spec里也是明确标明illegal的。更会给一些针对web页面的增强工具变得不可用。
我大概能理解这么写是为了方便让整个块都能点击,虽然道路千万条,但是还是建议走遵守规范的那几条,建议掘金官方评估一下这个小问题。