Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
HTML (или, может быть, просто XHTML?) относительно 9X_javascript строг, когда дело касается нестандартных 9X_javascript-execution атрибутов тегов. Если они не входят в спецификацию, ваш 9X_standard код считается несовместимым.
Однако нестандартные 9X_js атрибуты могут быть весьма полезны для передачи 9X_html-tag метаданных в Javascript. Например, если 9X_div ссылка предполагает отображение всплывающего 9X_webpage окна, вы можете установить имя всплывающего 9X_standard окна в атрибуте:
click me
Кроме того, вы можете сохранить 9X_vanilla-javascript заголовок всплывающего окна в скрытом элементе, например 9X_ecmascript в диапазоне:
.popup .title { display: none; } click me Title for My Popup
Однако я не понимаю, какой метод 9X_vanilla-javascript предпочтительнее. Первый метод более краток 9X_html-tag и, как я полагаю, не так сильно портит поисковые 9X_javascript-library системы и программы чтения с экрана. И наоборот, второй 9X_html вариант упрощает хранение больших объемов 9X_div данных и, следовательно, более универсален. Он 9X_ecmascript также соответствует стандартам.
Мне любопытно, что 9X_vanilla-javascript думают эти сообщества. Как вы справляетесь 9X_html-tag с такой ситуацией? Перевешивает ли простота 9X_div первого метода возможные недостатки (если 9X_standards они есть)?
- Они называются атрибутами "expando" - если вы хотите узнать о них б ...
Ответ #1
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
Я большой поклонник предлагаемого решения 9X_vanillajs HTML 5 (атрибуты с префиксом data-
). Изменить: я 9X_javascript-library бы добавил, что, вероятно, есть лучшие примеры 9X_vanilla-javascript использования настраиваемых атрибутов. Например, данные, которые 9X_js будет использовать пользовательское приложение, не 9X_html5 имеющие аналогов в стандартных атрибутах 9X_javascript-execution (например, настройка обработчиков событий 9X_html-tag на основе чего-то, что не обязательно может 9X_vanillajs быть выражено в className или id).
- Я всегда избегал этого, потому что это не подтверждается. Но теперь, когда я думаю об этом, втиснуть все в атрибут class = "" (например, метаданные jquery) не обязательно лучше. Есть ли какие-либо практич ...
Ответ #2
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
Настраиваемые атрибуты предоставляют удобный 9X_standards способ передачи дополнительных данных на 9X_js сторону клиента. Dojo Toolkit делает это 9X_divs регулярно, и было указано (Debunking Dojo Toolkit Myths), что:
Пользовательские 9X_html-tag атрибуты всегда были действительный HTML, они 9X_javascript-library просто не проверяют при тестировании с 9X_html-tag DTD. [...] Спецификация HTML гласит, что 9X_html-tag любой нераспознанный атрибут должен быть игнорируется 9X_div механизмом рендеринга HTML в пользовательских 9X_js агентах и Dojo опционально использует 9X_ecmascript это для улучшения простота разработки.
Ответ #3
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
Другой вариант - определить что-то вроде 9X_divs этого в Javascript:
Затем вы можете использовать 9X_html это позже в своем коде Javascript, если 9X_.js ваша ссылка имеет идентификатор, соответствующий 9X_standards идентификатору в этой хеш-таблице.
У него 9X_html-tag нет недостатков двух других методов: нет 9X_vanilla-javascript нестандартных атрибутов или уродливого скрытого 9X_standards диапазона.
Недостаток в том, что это может 9X_html-tag оказаться излишним для таких простых вещей, как 9X_js ваш пример. Но для более сложных сценариев, когда 9X_html5 вам нужно передать больше данных, это хороший 9X_javascript-execution выбор. Особенно учитывая, что данные передаются 9X_divs в формате JSON, поэтому вы можете легко 9X_span передавать сложные объекты.
Кроме того, данные 9X_.js хранятся отдельно от форматирования, что 9X_ecmascript способствует удобству сопровождения.
У вас 9X_standards может быть даже что-то вроде этого (чего 9X_javascript-library нельзя сделать другими методами):
var poi_types = {1: "City", 2: "Restaurant"}; var poi = {1: {lat: X, lng: Y, name: "Beijing", type: 1}, 2: {lat: A, lng: B, name: "Hatsune", type: 2}};
...
Hatsune
И поскольку 9X_divs вы, скорее всего, используете какой-то серверный 9X_span язык программирования, эту хеш-таблицу должно 9X_standards быть тривиально для динамической генерации 9X_standard (просто сериализуйте ее в JSON и вставьте 9X_vanillajs в раздел заголовка страницы).
Ответ #4
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
В этом случае оптимальное решение
click
и используя 9X_divs атрибут title.
Иногда я нарушаю спецификации, если 9X_.js мне это действительно нужно. Но редко и 9X_standards только не зря.
РЕДАКТИРОВАТЬ: Не знаю, почему 9X_ecmascript -1, но я указывал, что иногда вы думаете, что 9X_html5 вам нужно нарушить спецификацию, когда вы 9X_vanilla-javascript этого не делаете.
Ответ #5
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
Почему бы не объявить атрибут popup_title 9X_js в настраиваемом DTD? Это решает проблему 9X_html с проверкой. Я делаю это со всеми нестандартными 9X_html-tag элементами, атрибутами и значениями и благодарю, что 9X_span эта проверка показывает мне только реальные 9X_span проблемы с моим кодом. Это также снижает 9X_javascript вероятность ошибок браузера при использовании 9X_div такого HTML.
Ответ #6
Ответ на вопрос: Нестандартные атрибуты HTML-тегов. Хорошая вещь? Плохо? Твои мысли?
Вы можете вложить скрытые элементы ввода 9X_span ВНУТРИ элемента привязки
Link text here
Затем вы можете 9X_div легко извлечь данные
$('#anchor_id .articleid').val()
- @Yeti, класс не является чем-то для CSS и недействителен, если он не отображается в стилях. Это п ...
-
11
-
2
-
4
-
9
-
11
-
15
-
2
-
5
-
4
-
4
-
8
-
5
-
4
-
4
-
4
-
4
-
2
-
2
-
4
-
2
-
3
-
10
-
11
-
7
-
5
-
12
-
5
-
4
-
7
-
9
-
16
-
19
-
8
-
2
-
7
-
7
-
10
-
2
-
6
-
6
-
2
-
3
-
1
-
8
-
5
-
7
-
3
-
8
-
9
-
8