Если <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.

Ты должен использовать id="" приписывать.:)

Использование идентификатора не всегда идеально, поскольку они уникальны, например, если у вас есть список ссылок в качестве пунктов меню, и вы хотите выполнить некоторый 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>, так далее.

Другие вопросы по тегам