すごく今更なんだけど、ふと id
の属性値に使える文字を調べてたら、HTML5.1のドキュメントに 「なんでも使ってOK」 みたいに書いてあった。
なんとなく id
って特殊な記号が使えなかったり、先頭が英字じゃなきゃいけないみたいなルールがあったような気がしてたんだけど……。
と思ってHTML4.01のドキュメント見たら、そっちにはその通りに書いてあった。
HTML4.01では、先頭は必ず半角英字。それ以降は半角英数字, ハイフン, アンダースコア, コロン, ピリオドだけ。
HTML5になって変わってたの知らなかった。
JavaScriptで取得してみる
トンチンカンな id
を設定したHTML要素をJavaScriptから取得して、さらに id
にアクセスしてみる。
一番下のカラ文字のみのもの以外は問題なくアクセスできた。
JavaScriptで作ってみる
これらの変な id
を設定した要素をJavaScriptで生成したらどうなるか気になったので、逆もやってみる。
カラ文字のみのものは、HTML上では id
属性に値がセットされていない状態になっていた。
それ以外は問題なく作成できた。