Согласно спецификации HTML 5, 5.9.8 Переход к идентификатору фрагмента :
Для документов HTML (и типа MIME text / html) следующая обработка Модель должна следовать, чтобы определить, что указанная часть документа.
- Разобрать URL, и пусть fragid будет < фрагментом > компонент URL.
- Если fragid - пустая строка, указанная часть документа является верхней частью документа.
- Если в DOM есть элемент с идентификатором, точно равным fragid, то первым таким элементом в древовидном порядке является указанная часть документа; остановите алгоритм здесь.
- Если в DOM есть элемент a , у которого есть атрибут name, значение которого точно равно fragid, то первым таким элементом в древовидном порядке является указанная часть документа; остановите алгоритм здесь.
- В противном случае нет указанной части документа.
Итак, он будет искать id="foo"
, а затем будет следовать name="foo"
Редактировать: как указано @hsivonen в HTML5 элемент a
не имеет атрибута name. Однако вышеприведенные правила все еще применяются к другим именованным элементам.