Этот вопрос спорный - см. Комментарии @Alochi.мой плохой.
Это отличается от button
тем, что button
является определенным тегом в спецификации, тогда как другие типы, date, tel, password, hidden, ...
, не являются, но на практике могут бытьиспользуется для создания HTML.( эта - лучшая ссылка, которую я могу найти).
из моих экспериментов, в современных браузерах следующее эквивалентно:
a = document.createElement('input');
a.type = 'date';
b = document.createElement('date');
a
и b
сделать то же самое и иметь те же атрибуты. неправильно !! не рендерится одинаково
большая разница в том, что querySelector
строгий - даже если date
может быть функционально эквивалентен input[type='date']
, элементсозданный с date
не будет найден с input[type='date']
и наоборот.
при работе с этими парнями кажется, что нам понадобятся два набора запросов, если мы их ищем - илиесть какой-то суперсет, который облегчает?
это тот случай, когда разработчики опережают спецификации?кажется, что они переносят все типы в свои элементы, как, например, с button
.
(если не заботиться о старых браузерах), есть ли здесь какие-то руководящие принципы?