Я створюю сторінку, яка має деяку взаємодію, яку забезпечує JavaScript. Як приклад: посилання, які надсилають запит AJAX, щоб отримати вміст статей, а потім відобразити ці дані у діві. Очевидно, що в цьому прикладі мені потрібно кожне посилання, щоб зберігати додатковий біт інформації: ідентифікатор статті. Як я поводився з ним у випадку, коли я ставлю цю інформацію у href посилання на це:
<a class="article" href="#5">
Потім я використовую jQuery, щоб знайти елементи a.article і приєднати відповідний обробник подій. (не зациклюйтесь на зручності чи семантиці тут, це лише приклад)
У будь-якому випадку цей метод працює, але він трохи пахне і зовсім не розширюється (що відбувається, якщо функція клацання має більше одного параметра? Що робити, якщо деякі з цих параметрів необов’язкові?)
Одразу очевидною відповіддю було використання атрибутів на елементі. Я маю на увазі, для чого вони потрібні, правда? (Типу).
<a articleid="5" href="link/for/non-js-users.html">
У своєму нещодавньому запитанні я запитав, чи цей метод є дійсним, і виявляється, що не визначено мого власного DTD (я не знаю), то ні, це не є дійсним або надійним. Поширеною відповіддю було введення даних у class
атрибут (хоча це могло бути через мій погано вибраний приклад), але для мене це пахне ще більше. Так, це технічно справедливо, але це не чудове рішення.
Інший метод, який я використовував у минулому, полягав у тому, щоб фактично генерувати деякий JS та вставляти його на сторінку в <script>
тег, створюючи структуру, яка асоціюється з об'єктом.
var myData = {
link0 : {
articleId : 5,
target : '#showMessage'
// etc...
},
link1 : {
articleId : 13
}
};
<a href="..." id="link0">
Але це може бути справжнім болем у задника, щоб підтримувати, і, як правило, дуже безладно.
Отже, щоб перейти до питання, як ви зберігаєте довільну частину інформації для тегів HTML ?