Не существующие атрибуты HTML входное поле
-
13-12-2019 - |
Вопрос
Это хорошая практика, чтобы прикрепить не существующий атрибут к HTML-элементу, чтобы использовать его в jQuery.Например
<input type="text" valrule="someregexstring" />
.
Затем просто используйте jQuery, чтобы выбрать все элементы, которые содержат атрибут, называемый ValRule и анализировать строку REGEX.
Это «нет», насколько стандарты программирования и лучшие практики?
Решение
Вы должны использовать префикс GeneracodicCode.Он поддерживается HTML5, другие браузеры будут игнорировать его, и вы можете легко добраться до него с jQuery, используя метод data-<myAttribute>
.
<input id="myInput" type="text" data-MySuperMassiveAttribute="Awesome"/>
.
, и вы можете получить эту информацию, как так:
var howAmI = $('#myInput').data('MySuperMassiveAttribute');
alert(howAmI); // now everybody knows how awesome you are ;-)
. Другие советы
Используйте HTML5 Data- префикс для нового атрибута, такого:
<input type="text" data-valrule="someregexstring" />
.
Его действительный HTML 5 ..
Вы определенно можете.Хотя HTML5 представила то, что называется атрибутами - , что позволяет устанавливать нестандартные атрибуты элементам стандартным способом.
Вы просто префикс имена атрибутов с data-
<input type="text" data-valrule="someregexstring" />
.
Хотя, это вводится в HTML5, вы все равно можете использовать его с документами для HTML4.
Использование jQuery (1.4.3+), атрибуты - атрибуты могут быть доступны с .data () - или через .attr () .
Я лично не сделаю это.Некоторые браузеры игнорируют «не существующие» атрибуты при анализе HTML, поэтому эти атрибуты не будут сохранены в странице браузера DOM.Когда Selectors jQuery выполняется, они могут не найти этот атрибут.
Если вам гарантированно запустите в HTML5-совместимые браузеры, вы можете использовать префикс HTML5 data-
для ваших атрибутов, например.
<input type="text" data-valrule="someregexstring" />
.
Однако это все еще может не работать, если вы работаете в старших браузерах.Например, оказывается, что почти половина наших клиентов используют IE7 без планов обновления (перемещение со скоростью правительства).