[HTML, JS] Не стандартный атрибут тега.

DavyJohnes
На сайте с 05.01.2011
Offline
84
495

Здравствуйте! Имеется вот такая штука:


...
<li>
<a href="#" onclick="func1(<param>)">Label1</a>
<a href="#" onclick="func2(<param>)">Label2</a>
<a href="#" onclick="func3(<param>)">Label3</a>
......
</li>
...

<param> везде одинаковый и порою очень длинный. С целью экономии места хочу задать <param> в качества атрибута для родительского тега, а потом на JS вытаскивать его.

Как то так:


...
<li paramValue="<param>">
<a href="#" onclick="func1()">Label1</a>
<a href="#" onclick="func2()">Label2</a>
<a href="#" onclick="func3()">Label3</a>
......
</li>
...

Т.е. вся суть в том что я назначаю тегу атрибут которого нет в спецификации HTML. На что и как это может повлиять? Может какие то браузеры неверно отреагируют? Или пс как то заругают, не?

https://handy-tools.io (https://handy-tools.io) - Набор полезных утилит для всех!
Ayavryk
На сайте с 11.10.2003
Offline
209
#1

Нестандартные атрибуты это не хорошо, но кроме как на валидность они ни на что как правило не влияют

Единственная опасность имхо в том что кто-то (чужой плагин, какая-нибудь надстройка) начнет использовать тот же самый атрибут и начнется путаница.

Альтернативы

1. Переход на HTML5. Там есть пользовательские атрибуты c префиксом data-

2. В родительском контейнере можно хранить hidden-поле

3. Никто не мешает запаковать данные в js-блок

4. В jquery 1.3 был плагин metadata который позволял вытаскивать json-данные из атирбута класса. В более поздних версиях он вошел в состав ядра и там что-то поменялось.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий