0

重複の可能性:
要素のIDとして数値を使用できないのはなぜですか?

要素のIDは文字([A-Za-z])で始まる必要があります。しかし、私が次のようなことをすると

<td id='9'></td>

javascriptはそのような要素を見つけることができます。だから、なぜ数字で始められないのか分かりません

4

3 に答える 3

4

標準では、ID は文字で始まる必要があると規定されています。ブラウザー (または JavaScript エンジン) がその要件を無視することを選択した場合、それはまさにその通りです。ブラウザはそのように本当に寛容です...

于 2012-09-14T12:00:22.943 に答える
2

仕様から逸脱すると、使用しているブラウザよりも厳密に仕様に準拠することを決定したブラウザでコードが機能しないというリスクが生じます。

それは問題ないかもしれませんが、数字の前に固定文字列を付けて「数値」IDのセマンティクスを維持することで、このような問題を回避できるため、不必要なリスクのように思えます。

于 2012-09-14T12:02:30.200 に答える
1

HTML 4は実際にそれを正規化します

ID および NAME トークンは文字 ([A-Za-z]) で始まり、その後に任意の数の文字、数字 ([0-9])、ハイフン ("-")、アンダースコア ("_") が続く場合があります、コロン (":")、およびピリオド (".")。

まだ公式のものではありませんが、ブラウザがはるかに寛容な HTML5 基準を適用するのは長い間あります。

任意の文字列。次の制限があります。

  • 少なくとも 1 文字の長さである必要があります
  • スペース文字を含めることはできません

ただし、HTML4 の規範を尊重しないと、古いブラウザーで問題が発生する可能性があるので注意してください。また、ほとんどの言語のプログラマーは、HTML4 のような「通常の id」に慣れていることに注意してください。「珍しい」IDを使用すると、(それほど大きくはない)リスクを冒して、それらを処理できないライブラリに遭遇します。

于 2012-09-14T12:02:01.007 に答える