Должен прозвучать вопрос: «Становятся ли теги HTML с предоставленными идентификаторами глобально доступными элементами DOM?»
Ответ - ДА!
Вот как это должно было работать, и именно поэтому W3C ввел идентификаторы:
Идентификатор тега HTML в проанализированной среде сценариев становится соответствующим дескриптором элемента DOM.
Тем не менее, Netscape Mozilla отказался отвечать (им вторгаться) W3C и упорно продолжал использовать устаревшую атрибут Имени, чтобы создать хаос и, следовательно, разорвет функциональность сценариев и удобство кодирования, приносимое введением W3C в Уникальных идентификаторах.
После фиаско Netscape Navigator 4.7 все их разработчики пошли и проникли в W3C, в то время как их партнеры вытесняли Интернет неправильными методами и не использовали примеры. Принудительное использование и повторное использование уже устаревшего атрибута Name [!, Который не должен был быть уникальным] наравне с атрибутами ID, чтобы сценарии, которые использовали идентификаторы ID для доступа к определенным элементам DOM, просто ломались!
И они сделали то же самое, что написали и опубликовали обширные уроки и примеры кодирования [их браузер не распознал бы в любом случае], такие как document.all.ElementID.property
вместо ElementID.property
, чтобы, по крайней мере, сделать его неэффективным и дать браузеру больше накладных расходов. случай, когда он не просто сломал его в домене HTML, используя тот же токен для (теперь [1996-97], устарело) Name и стандартный атрибут ID, предоставляющий ему то же значение токена.
Им легко удалось убедить - тогда - подавляющую армию невежественных любителей написания кода в том, что имена и идентификаторы практически одинаковы, за исключением того, что атрибут идентификатора короче и, следовательно, сохраняет байты и более удобен для кодера, чем древний. Наименование свойства. Что, конечно, было ложью. Или - в их заменяющих опубликованных статьях HTML, убедительных статьях, что вам нужно будет указать и имя, и идентификатор для своих тегов, чтобы они были доступны для механизма сценариев.
Убийцы Мозаики [под кодовым названием «Мозилла»] были настолько взбешены, что подумали: «Если мы пойдем вниз, то и Интернет тоже».
Растущая Microsoft - с другой стороны - была настолько наивна, что подумала, что должна оставить устаревшее и помеченное для удаления свойство Name и обращаться с ним, как с идентификатором, который является уникальным идентификатором, чтобы не нарушать функциональность сценариев старых страниц, закодированных стажерами Netscape. Они были совершенно неправы ...
И возвращение коллекции массивов элементов, конфликтующих с ID, также не было решением этой намеренной искусственной проблемы. На самом деле это победило всю цель.
И это единственная причина, по которой W3C стал уродливым и дал нам такие идиоты, как document.getElementById
и сопровождающий их проклятый раздражающий синтаксис в стиле рококо ...
(...)