Если <a name="..."> устарело, что предпочтительнее?
HTML код <a name="some_bookmark">text</a>
очень полезно для создания ссылок на определенные разделы страницы (например, page.html#some_bookmark
). Тем не менее, спецификация W3C теперь отмечает name
атрибут a
пометить как "устаревший".
Если это так, то что является предпочтительным? Есть ли новый <bookmark>
тег или подобное?
5 ответов
Вы можете разместить id=""
атрибут на любой элемент, и он будет иметь тот же эффект.
Они обычно размещаются на заголовочных элементах.
Посмотрите на спецификацию HTML5.
Устаревшие функции вы найдете:
Авторы не должны указывать
name
атрибут наa
элементы.
При нажатии на name
, ты найдешь:
[Следующие атрибуты устарели (хотя элементы все еще являются частью языка) и не должны использоваться авторами:]
name
наa
элементы (за исключением случаев, отмеченных в предыдущем разделе)name
наembed
элементыname
наimg
элементыname
наoption
элементы→ Используйте
id
атрибут вместо.
Нажмите на id
, Вы увидите, что id
является глобальным атрибутом, это означает, что его можно использовать с любым элементом.
id
Атрибут задает уникальный идентификатор своего элемента (ID).
[...]
Примечание. Уникальный идентификатор элемента может использоваться для различных целей, в частности, как способ ссылки на конкретные части документа с использованием идентификаторов фрагментов, как способ нацеливания на элемент при создании сценариев и как способ стилизации определенного элемент из CSS.
Использование идентификатора не всегда идеально, поскольку они уникальны, например, если у вас есть список ссылок в качестве пунктов меню, и вы хотите выполнить некоторый JavaScript только для некоторых из них, когда пользователь наводит курсор мыши, использование идентификаторов будет беспорядком.
В настоящее время я считаю, что лучший способ - использовать класс для идентификации их как группы. Так что-то вроде этого:
<a class="mylink">Menu Item one</a>
<a class="mylink">Menu Item two</a>
<a class="mylink">Menu Item three</a>
<a>Menu Item four</a>
Но я только продолжил использовать тег имени, глупо отрицать что-то столь незначительное, поскольку это не влияет на производительность или что-то еще, просто вызывает проблемы, если браузеры решают не принимать тег имени в один момент. Это также отвлекает нас от использования стандартов.
(Примечание: перенесено с /questions/2048672/chto-dolzhno-byit-v-moej-groovy-prezentatsii/2048690#2048690 и отредактировано для краткости.)
Если вам нужно перейти к ссылкам на странице, также известным как идентификаторы фрагментов, вы можете установить id
атрибут (который используется не только для фрагментов) любого элемента. Тогда используйте обычный #
в URL href
атрибут a
элемент. Вот пример:
<body>
<p>Despite the many
<a href="#benefits-of-gum-chewing">benefits</a>
you may experience while chewing gum, there are also many drawbacks,
especially with
<a href="http://www.example.org/sugar.html#cons">non-sugarless</a>
gum.</p>
...
<section id="benefits-of-gum-chewing">
<h1>Benefits of Gum Chewing</h1>
...
</section>
</body>
Когда я пишу свои собственные страницы, мне нравится id
для каждого <section>
тег (HTML5), даже если я не планирую его использовать. Значение id
является URL-дружественной версией содержимого заголовка. Вы можете добиться того же эффекта, назначив одинаковые id
для <h1>
, так далее.