次の問題があります。データベースにアイテムのリストを保存し、それらをWebページに表示しています。Webページ上のすべてのアイテムにIDまたはクラスを割り当てる必要があります。最も簡単な方法は、データベースにあるのと同じIDを割り当てることです。次に例を示します。
データベース
ID | Name
----+-----------
1 | Apple
2 | Orange
3 | Banana
HTML
<ul>
<li id="1">Apple</li>
<li id="2">Orange</li>
<li id="3">Banana</li>
</ul>
明らかな問題は、HTMLIDが数字で始まらないことです。そこで、IDにプレフィックスを付けることを考えました。たとえば、次のようになります。
<ul>
<li id="f1">Apple</li>
<li id="f2">Orange</li>
<li id="f3">Banana</li>
</ul>
ただし、これによりHTMLとデータベースの間に不整合が生じ、オブジェクトの操作がより複雑になります。これを解決するには、データベースに新しい列を追加する必要があります。
ID | Name | HTML_ID
----+-----------+---------
1 | Apple | f1
2 | Orange | f2
3 | Banana | f3
新しいアイテムを追加するたびにデータベースにHTML_IDを手動で入力する必要があるため、これも理想的な解決策ではないようです。また、HTML_IDが常に一意であることを確認する必要があります。
Web開発をしているときに、人々はこの問題にかなり頻繁に遭遇すると確信しています。上記の例よりもこれを処理するためのより良い方法があるかどうか疑問に思いました。