ホームページ制作の勉強を今しているのですが、
HTMLで
<id>は一回しか使えなくて、
<class>は何回も使えると書いていたのですが、
それをみて<class>だけ使うだけでいいんじゃないかと思いました。
<id>を使うメリットがあれば教えていただきたいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
ページ中に一つしかないということ自体がメリットです
javascriptでgetElementByIDは必ず特定の一つの要素を指し、複数を取得することはない
一つ見つかればそれ以上探さないので取得処理も早い
cssにおいてもIDで指定すれば、ページ中の一つの要素にしか適用したくないスタイルを
誤って兄弟・子孫要素に適用してしまうということがありません
アンカーリンクに用いることができるということももちろんですが
タブやライトボックス、あるいはスライドショーなどの
ウィジェットのリンクにおいてもIDが用いられることが多いのは
ページ中に要素が唯一であることが保証されるからこそ
labelとinputの対応もIDによってされます
これもページ中に要素が唯一であることが保証されるからこそのこと
一つしかないということが保証されるということは
制作物が複雑で機能的になっていくほどメリットが大きくなります
投稿2018/06/26 16:34
総合スコア7804
0
「id は ドキュメント内に1個しかない」ということが保証されているので、JavaScript などプログラミング言語にとっては一つ見つければ、それ以降のドキュメントを探す必要がないことになり、検索時間が短縮できるメリットがありますね。
javaScript
1var elem = document.getElementById('identity');
「Classはドキュメント内に複数あるかもしれない」ので、一個見つけても他にはないのかをドキュメントの最後まで探さなければいけない。
javaScript
1var elems = document.getElementsByClassName('classname');
投稿2018/06/26 16:31
退会済みユーザー
総合スコア0
0
既に回答が出ていますが、色々ときちんと記事も読まれた方が良いです。
メリットデメリット、使い道など詳しく書いてくれている記事もたくさんあります。
※おそらく語りつくされているものなのでteratail内にも質問がありそうです
id属性を使うと「ページ内リンク」も作れる
id属性とclass属性では、スタイルが適用される優先度が異なる
すべての装飾にclass属性を使っているのであれば、それでも構いません。しかし、うまく使い分ければ読み解きやすいCSSソースになるでしょう。
ここまでidとclassの違いについて説明してきましたが、ここまで読んで、「classは一つでも複数でも使えるなら、idを使う必要はないのではないか」とお思いになるかもしれません。
実はその通りであり、実際にclassのみを使用しても問題はありません。では、なぜidを使うのか。それは、「わかりやすさ」の面から使用するのではないでしょうか。
idとclassを分けることで、「大まかなレイアウトの部分」と「その他」で分類し、修正や変更をしやすくするという、メンテナンス性の向上が図れるのです。
例えば、レイアウトから文字の色まですべてclassで指定すると、レイアウト部分を修正しようとした時に、どこの要素でそのレイアウトを指定しているのか、探さなければなりません。
それを、「idで大まかなレイアウトを指定、classでそれ以外を指定」という風に使い分けることで、「レイアウトを指定しているのはidだから、ヘッダーのレイアウトを変更するのなら#headerを探せばいいな」というように、一見してメンテナンスのしやすさが大きく変わり、修正や変更の効率が上がります。加えて、コメントも併用するとさらにソースが見やすくなります。
Classはブラウザの中では特に特別な能力はありませんが、IDは1つとっておきの切り札を隠し持っています。それは何かというとURL上での「ハッシュ値」です。
などなど
記事を一通りきちんと読んでいただければ分かるかと思いますが、
IDの方が要素を特定できる故の便利な使い道が沢山あります。
投稿2018/06/27 01:05
総合スコア80850
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/30 07:15