HTML タグを使用する場合、 属性と属性<input>
の使用にはどのような違いがあるのでしょうか。特に、これらの属性は同じ名前になっている場合があるようです。name
id
ベストアンサー1
HTML4.01の場合:
名前属性
<a>
、、、、、、、のみ有効です。<form>
<iframe>
<img>
<map>
<input>
<select>
<textarea>
- 名前は一意である必要はなく、ラジオボタンやチェックボックスなどの要素をグループ化するために使用できます。
- URLで参照することはできませんが、JavaScriptとPHPはURLを参照できるため、回避策があります。
- JavaScriptでは次のように参照されます
getElementsByName()
id
属性と同じ名前空間を共有する- 文字で始まる必要があります
- 仕様では大文字と小文字が区別されますが、最近のブラウザのほとんどはこれに従っていないようです。
- フォーム要素で情報を送信するために使用されます。
name
属性を持つ入力タグのみがサーバーに送信されます。
ID属性
- 、、、、、、、を除くすべての要素に有効です
<base>
。<html>
<head>
<meta>
<param>
<script>
<style>
<title>
- 各 ID は、ブラウザで表示されるページ内で一意である必要があります。同じファイル内にある場合もそうでない場合もあります。
- URLのアンカー参照として使用できます
- CSSまたはURLで参照され、
#
記号で示される - JavaScriptでは
getElementById()
、jQueryでは で参照されます。$(#<id>)
- 名前属性と同じ名前空間を共有する
- 少なくとも 1 文字を含める必要があります
- 文字で始まる必要があります
_
文字、数字、アンダースコア( )、ダッシュ(-
)、コロン(:
)、ピリオド(.
)以外の文字は使用できません。- 大文字と小文字は区別されません
(X)HTML5 では、次の点を除いてすべてが同じです。
名前属性
- 無効
<form>
です - XHTMLでは、すべて小文字にする必要があると規定されているが、ほとんどのブラウザではそれに従わない。
ID属性
- どの要素でも有効
- XHTMLでは、すべて小文字にする必要があると規定されているが、ほとんどのブラウザではそれに従わない。
この質問は HTML4.01 が標準だった時代に書かれたもので、多くのブラウザや機能が今日とは異なっていました。