Альтернатива пользовательских атрибутов для тегов для хранения некоторой информации в HTML 4 - PullRequest
1 голос
/ 14 мая 2010

Может ли кто-нибудь предложить мне какую-либо альтернативу для хранения некоторой информации для определенного тега в HTML 4. Например, если у меня есть выпадающий список типа

<select>
<option value="0" regionId="1">Test1</option>
<option value="1" regionId="2">Test2</option>
</select>

Здесь regionId - это пользовательский атрибут, я могу получить доступ к атрибуту, но проверка W3C HTML не удалась. Любое предложение по этому поводу?

Ответы [ 4 ]

1 голос
/ 14 мая 2010

вы можете использовать библиотеку javascript, такую ​​как jQuery. Это позволяет вам установить некоторые данные для любого объекта, который вы хотите. В вашем примере вы можете использовать $('select > option[value=0]').data('regionId', '1') и получить эту информацию с помощью $('select > option[value=0]').data('regionId') или $('select > option[value=0]').regionId. Чистым HTML-способом было бы найти любой допустимый атрибут, в котором вы могли бы хранить свою информацию, но в большинстве случаев это было бы плохой практикой, потому что вы неправильно используете атрибут. Здесь вы можете найти список всех допустимых атрибутов для тега html: http://www.htmldog.com/reference/htmltags/

1 голос
/ 14 мая 2010

Вы можете использовать javascript с JSon . Он широко используется, и существует множество вспомогательных библиотек для многих языков для создания JSon.

0 голосов
/ 04 июня 2010

Использовать атрибуты HTML и data-*. См. Могу ли я просто создать атрибуты для моих тегов HTML?

0 голосов
/ 04 июня 2010

Почему бы не использовать обычный атрибут id?

<select>
<option value="0" id="region_1">Test1</option>
<option value="1" id="region_2">Test2</option>
</select>

Чтобы иметь действительный HTML, вы НЕ МОЖЕТЕ использовать свои собственные атрибуты custon. Но с OPTION вы можете использовать идентификатор, класс или заголовок для такого рода информации, и идентификатор лучше всего подходит для ваших нужд.

РЕДАКТИРОВАТЬ : поскольку идентификатор не должен содержать только номер, я добавил "region_", который вы можете удалить в коде, к которому вы обращаетесь к атрибуту.

...