自定义元素 - 扩展 HTMLElement 的命名冲突

Custom Elements - Naming Collisions Extending HTMLElement

自定义元素是通过扩展 HTMLElement 创建的 class。

因此,当您创建一个时,您似乎必须采取特殊的预防措施,不要给您的自定义元素任何已经从 HTMLElement 继承的自定义名称。属性。

我可以想出很多方法来避免这些潜在的命名冲突,但我会对其他人的建议或关于该主题的任何最佳实践感兴趣。

正如@Jared Smith 所建议的那样,最佳做法是使用带连字符的名称,更准确地说是 data-* notation, accessible via the dataset 属性.

请注意,不应使用 aria-* 表示法,因为它是为 accessibility 保留的。

最后,您可以选择任何名称,但 global attributes 除外,如果您扩展标准 HTML 元素,则可以选择特定属性。