35440


HTML5 では data-* 属性に

  1. data- の後に1文字以上続くこと
  2. XML-compatibleであること
  3. ASCII大文字を含まないこと

の3つを要求しています

<https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-
data-with-the-data->*-attributes

`<div data-1="1"></div>` の data-1 属性は上記3つを全て満たしているので HTML valid
だと思うのですが、認識に間違いないでしょうか？


CC BY-SA 3.0
2017-06-09T06:51:01.327
35428
2017-06-11T22:37:55.260
9796
question
html5
data-* 属性は数値のみからなる属性名が利用できるか


間違いありません。

規格上そう読めますし、[dataset の setter
のアルゴリズム](https://html.spec.whatwg.org/multipage/dom.html#dom-domstringmap-
setitem)でも数字で始まる名前をエラーにしません。下記のコードは Chrome, Edge, Firefox, Safari で動作します。

[code]

    document.body.dataset['012'] = 'value';
    alert(document.body.getAttribute('data-012'));
[/code]

だたし、数字で始めるとドット形式のアクセスは不可能になります。

[code]

    document.body.dataset.012 = 'value'; // SyntaxError
    
[/code]


CC BY-SA 3.0
2017-06-09T12:06:31.260
35440
2017-06-11T22:37:55.260
2017-06-11T22:37:55.260
3475
3475
35428
answer