自定义元素的属性可以是camelCased吗?

tre*_*eno 4 html javascript web-component custom-element

我有一个带属性的自定义元素:

class MyElement extends HTMLElement {
    ...
    static get observedAttributes() {
        return ["camelCaseAttribute"];
    }

    set camelCaseAttribute(a) {
        this._a = a;
    }
    ...
 }
Run Code Online (Sandbox Code Playgroud)

我在我的HTML中使用它如下:

<my-element camelCaseAttribute="blubb"></my-element>
Run Code Online (Sandbox Code Playgroud)

camelCaseAttribute在camelCase中编写该属性时未设置该属性,但在没有大写字母的情况下编写该属性.为什么?

Li3*_*357 7

HTML Living Standard中,第4.13.3节核心概念:

4.13.3核心概念

由元素的作者确定的与元素功能相关的任何无名称空间属性可以在自治自定义元素上指定,只要属性名称与XML兼容且不包含ASCII高位字母.例外是is属性,不能在自治的自定义元素上指定(如果是,则不会生效).

HTML Living Standard中定义了自定义元素的无名称空间属性必须是XML兼容的,没有ASCII大写字母,因此您的属性不能是camelCased.