Javascript 自定义元素-命名冲突扩展HtmleElement

Javascript 自定义元素-命名冲突扩展HtmleElement,javascript,es6-class,custom-element,native-web-component,ecmascript-2018,Javascript,Es6 Class,Custom Element,Native Web Component,Ecmascript 2018,自定义元素是通过扩展HtmleElement类创建的 因此,当您创建一个自定义元素时,您似乎必须采取特别的预防措施,不要为您的自定义元素提供任何已从HtmleElement继承的自定义属性名称 我可以想象许多避免这些潜在命名冲突的方法,但我会对其他人的建议或关于该主题的任何最佳实践感兴趣。正如@Jared Smith所建议的,最佳实践是使用连字符的名称,更准确地说,是通过属性访问的名称 请注意,不应使用aria-*符号,因为它是为用户保留的 最后,如果扩展了标准HTML元素,您可以选择任何名称,

自定义元素是通过扩展HtmleElement类创建的

因此,当您创建一个自定义元素时,您似乎必须采取特别的预防措施,不要为您的自定义元素提供任何已从HtmleElement继承的自定义属性名称


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

正如@Jared Smith所建议的,最佳实践是使用连字符的名称,更准确地说,是通过属性访问的名称

请注意,不应使用
aria-*
符号,因为它是为用户保留的


最后,如果扩展了标准HTML元素,您可以选择任何名称,除了,或特定属性。

只需使用连字符属性名称,如
datafoo
。没有HTML属性使用连字符。