seodon.ru | Теги HTML — Тег A
- <A>Aтрибуты
- Личные:
- href
- name
- rel
- rev
- target
- Общие:
- accesskey
- class
- dir
- id
- lang
- style
- tabindex
- title
Опубликовано: 25.06.2010 Последняя правка: 08.12.2015
Атрибут name, тега <A>, задает имя якоря-закладки («анкора») внутри веб-страницы. Значением атрибута должно быть уникальное имя в пределах страницы установки якоря. Для создания ссылки на закладку используется тег <A> с атрибутом href. Значение атрибута href должно начинаться с символа решетки (#), за которой, без пробелов, идет имя якоря (с учетом регистра).
Для создания ссылки на закладку, расположенную на другой странице или сайте, перед символом решетка (#) дополнительно указывается относительный или абсолютный адрес этой страницы.
Также, в качестве якоря можно использовать любой тег имеющий атрибут id, в том числе и тег <A>.
Атрибуты name и id используют общее пространство (базу) имен. Поэтому их значения у двух тегов на странице не должны совпадать, а вот у одного тега — могут. Ссылок же на якорь, на одной странице, может быть сколько угодно.
Значения
Значением атрибута может быть любое слово. Оно чувствительно к регистру, поэтому указывайте его везде одинаково.
Значение по умолчанию: нет.
Синтаксис
<a name="имя якоря">...необязательный текст...</a>
Обязательный атрибут: обязателен для якорей.
Пример HTML: применение атрибута name
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>seodon.ru - Тег A, применение атрибута name</title> </head> <body> <h2><a name="top"></a>О сайте Сеодон.ру</h2> <p>На сайте Сеодон.ру есть много полезной информации по созданию сайтов: учебники, справочники, примеры, статьи и др.</p> <p><a href="#top">В начало страницы</a></p> </body> </html>
Результат примера
Поддержка версиями HTML
Версия: | HTML 4.01 | HTML 5 | XHTML 1.0 | XHTML 1.1 |
Поддержка: | Да | Да | Да | Нет |
В версии XHTML 1.1 атрибут name тега <A> удален вместо него используется атрибут id, в HTML 5 также рекомендуется указывать идентификатор, хотя жесткого запрета нет.
Поддержка браузерами
Браузер: | Internet Explorer | Google Chrome | Mozilla Firefox | Opera | Safari |
Версия: | 6.0 и выше | 2.0 и выше | 2.0 и выше | 9.2 и выше | 3.1 и выше |
Поддержка: | Да | Да | Да | Да | Да |
Решено: разница между именем и идентификатором в HTML
Основная проблема, связанная с разницей между именем и идентификатором HTML, заключается в том, что они оба используются для идентификации элементов на веб-странице, но имеют разные цели. Атрибут name используется для элементов формы, а атрибут id — для стилей и сценариев. Это может привести к путанице при попытке выбрать элемент на веб-странице, поскольку может быть неясно, какой атрибут следует использовать. Кроме того, если два элемента имеют одинаковое имя или идентификатор, это может вызвать проблемы со сценариями или стилями.
attributes The name and id attributes are both used to identify HTML elements. The main difference between the two is that the name attribute is used to reference form data after a form is submitted, while the id attribute is used by JavaScript and CSS to manipulate specific elements on a page. Additionally, an element can have multiple names but only one unique id.
Линия 1:
«атрибуты» — это ключевое слово, используемое для обозначения свойств элемента HTML.
Линия 2:
«Атрибуты name и id используются для идентификации элементов HTML». – Атрибуты name и id — это два разных типа атрибутов, которые можно использовать для идентификации элемента HTML.
Линия 3:
«Основное различие между ними заключается в том, что атрибут name используется для ссылки на данные формы после отправки формы, а атрибут id используется JavaScript и CSS для управления определенными элементами на странице». – Основное различие между атрибутами name и id заключается в том, что атрибут name может использоваться для ссылки на данные формы после отправки, а атрибут id может использоваться сценариями JavaScript и CSS для управления определенными элементами на странице.
Линия 4:
«Кроме того, у элемента может быть несколько имен, но только один уникальный идентификатор». – Кроме того, с элементом HTML может быть связано несколько имен, но он должен иметь только один уникальный идентификатор (id).
Содержание
- 1 Что такое атрибут имени
- 2 Что такое атрибут ID
- 3 Разница между именем и идентификатором
Что такое атрибут имени
Атрибут имени в HTML используется для идентификации элемента в HTML-документе. Он обычно используется с такими элементами формы, как input, select и textarea, чтобы создать для них уникальный идентификатор. Затем этот идентификатор можно использовать для ссылки на элемент в коде JavaScript или CSS. Кроме того, атрибут имени можно использовать для предоставления дополнительной информации об элементе, который может быть невидим на самой странице.
Что такое атрибут ID
Атрибут ID в HTML — это идентификатор, который используется для уникальной идентификации элемента на веб-странице. Его можно использовать для связывания элементов вместе, например, для привязки метки к соответствующему полю формы или привязки заголовка к связанному с ним содержимому. Идентификаторы должны быть уникальными на странице и не должны использоваться более одного раза.
Разница между именем и идентификатором
Имя и идентификатор являются атрибутами, используемыми для идентификации элементов HTML. Основное различие между ними заключается в том, что идентификатор можно использовать только один раз на странице, а имя можно использовать несколько раз.
- Решено: _blank в html
- Решено: html добавить изображение из удаленного источника
- Решено: добавить пробел в html
- Решено: добавление фавиконки в html
- Решено: HTML выровнять текст по правому краю
- Решено: автообновление года авторского права html
- Решено: автовоспроизведение html не работает iphone
- Решено: автоперенаправление html
- Решено: html фоновое изображение помещается на экран
- Решено: пример html изображения base64
- Решено: html body в полный рост
- Решено: кнопка html href
- Решено: центральная кнопка html
- Решено: центр p html
- Решено: html центр видео YouTube
- Решено: html изменить скорость плеера
- Решено: html изменить область просмотра на размер смартфона
- Решено: вкладка символов html
- Решено: html-код колонтитула с копирайтом
- Решено: создать HTML-ссылку mailto
- Решено: html код тире
- Решено: список данных html
- Решено: html тег описания
- Решено: HTML отключить редактирование текстового поля
- Решено: html отключить ввод отправить
- Решено: отключить автозаполнение формы ввода html
- Решено: отключить проверку орфографии html
- Решено: html символ точки
- Решено: выпадающий список в html
- Решено: HTML-ссылки электронной почты
- Решено: html пустой символ
- Решено: HTML объект амперсанд и
- Решено: цитата объекта html
- Решено: электронная почта fa fa
- Решено: html метатеги facebook
- Решено: HTML-код значков входа в fafa
- Решено: favicon для html-страницы
- Решено: фавикон мета
- Решено: тег html favicon
- Решено: изображение только в html файле
Исходный код HTML
Мы знаем все о HTML и HTML5. Мы решаем все сомнения и проблемы этого языка разметки, который является основой WWW.
. Какие символы разрешены в имени атрибута HTML?
С тех пор, как был задан этот вопрос, Интернет значительно изменился. Вполне вероятно, что авторы веб-компонентов (настраиваемых элементов) приземляются здесь, пытаясь узнать, какие допустимые имена можно использовать при определении атрибутов для пользовательских элементов.
Здесь есть несколько ответов, которые частично верны, поэтому я попытаюсь объединить их и обновить на основе последних спецификаций.
Во-первых, в HTML5 имена атрибутов могут начинаться с большинства символов и являются гораздо более либеральными, чем в предыдущих версиях HTML. Ответ @S.Lott верен для HTML 2 и XHTML, но не для HTML5.
Для HTML5: (спецификация)
Имена атрибутов должны состоять из одного или нескольких символов, кроме пробелов, U+0000 NULL, U+0022 КАвычки («), U+0027 АПОСТРОФ (‘), U+003E ЗНАК БОЛЬШЕ (>), U символы +002F SOLIDUS (/) и U+003D EQUALS SIGN (=), управляющие символы и любые символы, не определенные в Unicode.
любое сочетание строчных и прописных букв, которые соответствуют имени атрибута без учета регистра ASCII.0003
При этом другие комментаторы здесь правы: при использовании атрибута встроенного элемента, которого нет в списке допустимых атрибутов, вы технически нарушаете спецификацию. Однако авторы браузеров очень терпимы к этому, поэтому на практике это не приносит (большого?) вреда. Многие библиотеки используют это для улучшения обычных тегов HTML, что вызывает некоторую путаницу, поскольку технически это недопустимый HTML. HTML5 предоставляет механизм для пользовательских данных в атрибутах с использованием соглашения об именах атрибутов данных.
Эти правила отличаются для пользовательских элементов.
Авторы настраиваемых элементов могут реализовать любой тип атрибута, который им нравится, для своего элемента, хотя имена атрибутов являются более строгими, чем HTML5. На самом деле спецификация требует, чтобы имя атрибута соответствовало ограничениям имени XML:
Символы ASCII и знаки препинания, а также довольно большая группа символов символов Unicode исключены из имен, поскольку они более полезны в качестве разделителей в контекстах, где имена XML используются вне XML-документов; предоставление этой группы дает этим контекстам жесткие гарантии того, что не может быть частью имени XML.
Символ #x037E, ГРЕЧЕСКИЙ ВОПРОСИТЕЛЬ, исключен, поскольку при нормализации он становится точкой с запятой, что может изменить значение ссылок на сущности.Имена и жетоны
[4] NameStartChar ::= «:» | [А-Я] | «_» | [а-я] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
[4a] NameChar ::= NameStartChar | «-» | «.» | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
[5] Имя ::= NameStartChar (NameChar)*
[6] Имена ::= Имя (#x20 Имя)*
[7] Nmtoken ::= (NameChar)+
[8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*
Таким образом, для пользовательских имен элементов вы можете использовать верхний/нижний буквенно-цифровой символ, подчеркивание «_», двоеточие «:» или любой из символов Юникода, указанных в спецификации, в качестве начального символа, затем тире «-«, точки «.
Должен ли атрибут имени быть уникальным в документе HTML?
спросил
Изменено 8 месяцев назад
Просмотрено 40 тысяч раз
Я помню, как однажды прочитал в спецификации, что атрибут id
и атрибут name
имеют одно и то же пространство имен и должны быть уникальными. Впредь я всегда старался выполнять это требование в своих приложениях, опасаясь даже ставить те же id
и имя
для одного и того же элемента.
Но недавно я начал работать с ASP.NET MVC 3, и он (как и PHP) может использовать один и тот же атрибут name
для нескольких элементов управления вводом для формирования набора значений на стороне сервера. Я пытался найти соответствующий раздел в спецификации, но не нашел. Возможно, я что-то неправильно понял или прочитал не ту документацию?
Как же так? Я хочу создать как можно более правильный HTML (как 4.01, так и 5 в разных приложениях). Могу ли я использовать этот трюк без страха? Или я что-то нарушаю и лучше придерживаться уникальных значений?
- html
- уникальный
Атрибут name
действителен только для и элементов формы (
,
Например:
если отмечено будет отправлено foo=1
. В DOM вы можете ссылаться на элементы формы из коллекции form.elements
, указав имя
в качестве индекса. Если имя
не уникально, коллекция возвращает массив элементов, а не сам элемент. Современная DOM поддерживает поиск элементов формы по имени как:
document.getElementsByName(nameValue)
примечание: всегда возвращает массив, даже если найден только один элемент.
Атрибут id
взят из мира XML и является уникальным идентификатором для любого узла, а не только для элементов формы. В отличие от name
атрибут действителен на любом узле HTML. Также как и атрибут имени
, он должен соответствовать правилам допустимого идентификатора. Идентификатор должен начинаться с альфы и содержать только альфу ( [a-zA-Z]
), цифры, дефис, подчеркивание и двоеточие (обратите внимание, что ASP.NET нарушает это правило, начиная зарезервированные идентификаторы с подчеркивания, поэтому они будут всегда терпит неудачу при проверке HTML/XML - на самом деле некоторые прокси их удаляют). Чтобы найти любой элемент HTML по id
, вы используете:
document.getElementById(idvalue)
возвращает только один узел DOM.
Атрибут имени
не уникален. Например, он используется для группировки переключателей. Он представляет значение определенного свойства формы. id
должен быть уникальным.
ID должен быть уникальным, но вы можете использовать несколько элементов формы с одним и тем же ИМЯ. Это стандартная работа радиокнопок, поэтому вы можете принудительно выбрать одну группу радиокнопок.
Должны ли имена быть уникальными между формами для групп радиоввода?
Я понял, что это имя не должно быть уникальным, потому что радиоэлементы могут иметь одно и то же имя, но никто не сказал, будут ли группы радиоэлементов в разных формах мешать друг другу или нет. Поэтому я создал этот простой пример ниже для тестирования. В моем браузере я могу выбрать 2 из 6 радиостанций в приведенном ниже примере, и есть две формы. Таким образом, кажется, что размещение их в отдельных формах изолирует их.
<форма> форма> <форма>
Я также задавался вопросом, сохранится ли такое же поведение с более новым элементом
, однако, похоже, это не так. Я думаю, это имеет смысл, потому что, если бы я отправил форму, ей нужно было бы отформатировать данные, чтобы каким-то образом разрешить конфликт имен. Я могу выбрать только 1 из 6 радиостанций здесь:
<форма> <имя набора полей="test1"> <легенда>тест1легенда> поля> <имя набора полей="test2"> <легенда>test2легенда> поля> форма>
Я не уверен, зачем кому-то это нужно, но вы также можете связать каждый элемент с другой формой, используя атрибут form=
. Вроде опять разделились радиогруппы. Как показано здесь:
<форма> форма> <форма> форма> <имя набора полей="test1"> <легенда>тест1легенда> поля> <имя набора полей="test2"> <легенда>test2легенда> поля>
Я думаю, что в идеале набор полей должен создать своего рода группировку, которая была бы больше, чем просто визуальная, но это не так. По крайней мере радиогруппы можно разделить по формам.
Приложение: Как выглядят данные формы, когда вы используете одно и то же имя в двух или более наборах полей внутри одной формы? Давайте посмотрим.
Мои подозрения подтвердились. Есть только один «тестовый» параметр, и наборы полей вообще не влияют на данные. Попробуйте выбрать радио и нажать «Отправить».
функция изучить(е){ e.preventDefault() e.stopPropagation() var formData = новые данные формы (e.target) ,formProps = Object.fromEntries(formData) document.getElementById('out').innerText = JSON.stringify(formProps,null,2) вернуть ложь; } document.getElementById('mainform').addEventListener('отправить', изучить)
<форма> <имя набора полей="test1"> <легенда>тест1легенда> поля> <имя набора полей="test2"> <легенда>test2легенда> поля> форма> <предпред>3
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.