Я делаю страницу с некоторым взаимодействием, предоставляемым javascript. Как пример: ссылки, которые отправляют запрос AJAX для получения содержимого статей, а затем выводят эти данные в div. Очевидно, что в этом примере мне нужна каждая ссылка для хранения дополнительного бита информации: идентификатор статьи. То, как я обращался с этим в случае, это включить эту информацию в ссылку href:
<a class="article" href="#5">
Затем я использую jQuery для поиска элементов a.article и присоединяю соответствующий обработчик событий. (не слишком зависеть от удобства использования или семантики здесь, это просто пример)
В любом случае этот метод работает, но он smells немного и вообще не расширяется (что происходит, если функция click имеет более одного параметра? что, если некоторые из этих параметров являются необязательными?)
Очевидным ответом было использование атрибутов элемента. Я имею в виду, для чего они нужны, верно? (Вид).
<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-тегов?