導入
要素には、開始タグの中に 属性(attribute) を書いて、追加の情報を持たせられます。属性は 名前="値" の形で、開始タグの < と > の間に書きます。
説明
たとえば本のIDや言語を属性で表すとこうなります。
<book id="b001" lang="ja">
<title>吾輩は猫である</title>
</book>
<book> に id="b001" と lang="ja" という2つの属性が付いています。属性のルールは次のとおりです。
- 形は必ず
名前="値"。属性名の後に=、値は 引用符で囲む。 - 引用符は ダブルクォート
"でもシングルクォート'でもよいが、必ずどちらかで囲む(裸の値は不可)。 - 属性どうしは 半角スペースで区切る。
- 同じ要素に 同じ名前の属性を2つ書くことはできない。
<img src="cat.png" alt="猫" /> <!-- OK -->
<img src=cat.png /> <!-- NG:値が引用符で囲まれていない -->
<book id="1" id="2"> <!-- NG:同名属性の重複 -->
説明(属性か、子要素か)
同じ情報は、属性でも子要素でも表せることがあります。たとえば著者名は、次のどちらでも書けます。
<!-- 属性で表す -->
<book author="夏目漱石" />
<!-- 子要素で表す -->
<book>
<author>夏目漱石</author>
</book>
どちらが正解というルールはありませんが、目安があります。
- その要素そのものを識別・分類するための短い情報(ID・種別・言語コードなど)は 属性 が向く。
- それ自体が意味のあるデータ、将来さらに細分化しそうなもの(著者名 → 姓・名に分けたい等)は 子要素 が向く。
迷ったら「あとで中身を細かく分けたくなりそうか?」を考え、なりそうなら子要素にしておくと安全です。
やってみよう
<tag 名前="値"> の形を書いてみましょう。値を引用符で囲むのを忘れないこと ―― これが属性でいちばん多いミスです。次のレッスンでは、中身が空の要素の書き方を学びます。